【发布时间】:2017-06-02 22:59:05
【问题描述】:
我是 C# 新手,所以我可能没有问正确的问题。请多多包涵。
我有一个解决方案,该解决方案中有一个远程执行 SSIS 包的项目。经过一些研究,我发现为了做到这一点,我需要创建一些对 GAC(General Assembly Catalog ?)“外部”的 DLL 的引用。引用了以下程序集:
C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Management.IntegrationServices\11.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.Management.IntegrationServices.dll
C:\Program Files (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 build 仅构建项目文件,看看会发生什么
-
Leo - 我现在明白你的意思了 - 是的,出于某种原因,SDK 引用了我没有引用的其他 dll,它在 VS 中工作,但在我调用 MS Build 时没有 - 不是明确原因。
标签: c# .net visual-studio-2015 msbuild