1

誰かがこれをしましたか?もしそうなら、どのようなツール/テクニック/アプローチを使用しましたか?

SQL Business Studio バージョンの Visual Studio をインストールすることはできますか?

前もって感謝します!

4

2 に答える 2

1

了解しました...

1)MSBuild拡張機能をインストールします

2)そのようにBuild.Xmlファイルを作成しました...

<Project ToolsVersion="3.5" DefaultTargets="Default" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\ExtensionPack\MSBuild.ExtensionPack.tasks"/>
<Target Name="Default">
    <PropertyGroup>
        <OutputRoot>../../../build-artifacts</OutputRoot>
    </PropertyGroup>
    <ItemGroup>
        <SSISProjectFile Include="SSISProject.dtproj"/>
        <SSISProject Include="@(SSISProjectFile)">
            <OutputDirectory>$(OutputRoot)</OutputDirectory>
        </SSISProject>      
    </ItemGroup>
    <ItemGroup>
        <Namespaces Include="Mynamespace">
            <Prefix>DTS</Prefix>
            <Uri>www.microsoft.com/SqlServer/Dts</Uri>
        </Namespaces>
    </ItemGroup>

    <MSBuild.ExtensionPack.Xml.XmlFile 
        TaskAction="UpdateElement" 
        File="EnclarityDataImport.dtsx" 
        XPath="//DTS:Property[@DTS:Name='ConfigurationString']" 
        InnerText="$(MSBuildProjectDirectory)\EnclarityDataImport.dtsConfig"
        Namespaces="@(Namespaces)"/>
    <MSBuild.ExtensionPack.SqlServer.BuildDeploymentManifest InputProject="@(SSISProject)"/>
</Target>

唯一のトリックは、ここでのビルドの最後の部分でした。デフォルトでは、VisualStudioはdtsxパッケージの構成ファイルと接続文字列ファイルに絶対パスを追加します。Team Cityは、これらをMSBuild拡張機能と組み合わせて使用​​してパッケージをビルドします。これにより、Team Cityのビルドディレクトリへのパスが自動的に生成されるため、ローカルパスがビルドを中断します。したがって、上記のコードと$(MSBuildProjectDirectory)を使用して、dtsxファイルのパスの値を調整して、コンパイルが実行されているパスを指すようにすることができます。

于 2012-04-26T21:23:32.197 に答える
1

booyaaが言うように、SSISプロジェクトはコンパイルする必要はありませんが、私が行ったことは、ビルド/デプロイメントプロセスによって.dtconfigsを構成可能にすることです。

これは、さまざまな環境での展開時にパッケージを実行できるようにするためです。したがって、ビルドはdtconfigファイルのテンプレートをコピーします。これにはトークンが含まれています-$(Servername) $(ConnectionString) そして、展開時に置換を行い、コマンドでdtexecをラップして実行します。

2012年についてはよくわかりません。

于 2012-04-25T14:09:19.263 に答える