私はC#を初めて使用しているので、正しい質問をしていない可能性があります。私と一緒に抱きしめてください。MSBuildがGAC以外の参照を解決しない
私は解決策を持っており、そのソリューション内にはSSISパッケージをリモートで実行しているプロジェクトがあります。いくつかの調査の後、私はGAC(General Assembly Catalog?)の「外」にあるDLLへの参照を作成する必要があることを発見しました。次のアセンブリを参照された:
C:\ WINDOWS \アセンブリ\ GAC_MSIL \ Microsoft.SqlServer.Management.IntegrationServices \ 11.0.0.0__89845dcd8080cc91 \ Microsoft.SqlServer.Management.IntegrationServices.dll
C:\プログラムファイル(x86)\ Microsoft SQL Server \ 110 \ SDK \ Assemblies \ Microsoft.SqlServer.Management.Sdk.Sfc.dll
C:\ Program Files(x86)\ Microsoft SQL Server \ 110 \ SDK \ Assemblies \ Microsoft.SqlServer.Smo.dll
Visual Studio 2015からソリューションをクリーンアップしてビルドすると、すべてがうまくいきます。しかし、ソリューションのMSBuildをデプロイメントスクリプトから呼び出すと、参照が存在しないという多くのエラーが発生します。例えば、ここではそれらのいずれかのエラーです:
"C:\ TestModule \ SSISTests \ SSISTests.csproj"(デフォルトターゲット)(10) - >(CoreCompileターゲット) - > SSISTests.cs(78,17 ):エラーCS0012:タイプ 'Microsoft.SqlServer.Management.Common.ISfcConnection'は、 が参照されていないアセンブリで定義されています。アセンブリ 'Microsoft.SqlServer.ConnectionInfo、Version = 11.0.0.0、Culture = neutral、PublicKeyToken = 89845dcd8080cc91'への参照を追加する必要があります。 [C:\ TestModule \ SSISTests \ SSISTests.csproj]
この問題を解決するにはMSBuildに渡していませんか?これは依存関係の問題ではありません(私は思っていません)。このプロジェクトでは他のプロジェクトは必要ありません。これらのSQL Serverアセンブリだけです。
マイケルが示唆するように、ソリューションではなくSSISTest.csprojプロジェクトを作成するだけの方法はありますか?そして、そのプロジェクトに「Microsoft.SqlServer.Management.Common.ISfcConnection」参照を追加しようとしましたか? –
私の元の投稿に記載されているように参考文献があります。私は何が起こるかを見るためにMSビルドのプロジェクトファイルを構築しなければならないでしょう – Matt1776
レオ - 今何を意味しているのか分かります。何かの理由でSDKが他のDLLを参照していました。私がMSビルドと呼んだときにはVSでした。 – Matt1776