5

我有一个用C#编写的客户端程序,其中解决方案中的一个项目处理机器安装了SQL 2005的情况。

我已经添加了相关的 DLL,但我收到了警告:

CA0060 : The indirectly-referenced assembly 'Microsoft.SqlServer.ManagedDTS, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' could not be found. This assembly is not required for analysis, however, analysis results could be incomplete. This assembly was referenced by: d:\Any CPU\Bin\Debug\MyProgram.SSIS2005.dll.

根据Microsoft.SqlServer.ManagedDTS它的版本属性是9.0.3042.0,我不明白为什么它需要版本 9.0.242.0。我不知道它是否相关,但版本Microsoft.SQLServer.DTSRuntimeWrap是9.0.242.0。

我尝试了什么?

  • 删除和添加参考
  • 手动更改 csproj 文件中所需的版本
  • 我想过让所有的 dll 都具有相同的版本,但在网上没有找到这样的来源。

有任何想法吗?谢谢,公里

编辑:另一个细节,

  • 我的目标框架是 .Net 4.0
  • 我已将“useLegacyV2RuntimeActivationPolicy”设置为 true
4

4 回答 4

0

尝试从以下位置添加参考:

C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.ManagedDTS

并将 VS 中引用的本地副本设置为 true,希望这会有所帮助。

于 2012-12-18T08:49:04.503 回答
0

据我所知,SQL CLR 目前与 .NET 4.0 不兼容,您应该尝试切换到 3.5,看看是否有帮助。

于 2012-12-23T06:46:38.193 回答
0

通过以下方式检查系统版本:

C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.ManagedDTS

如果它们不同,请单击Add reference并按照链接添加相同的内容。

同样在web.config,在程序集标签下删除旧版本。

于 2017-09-08T09:44:18.890 回答
0

正如@Mightymuke 在评论中提到的那样,Fuslogvw.exe显示加载了哪些 DLL。我的一个项目引用了 DLL,它引用了旧版本的Microsoft.SqlServer.ManagedDTS.

于 2017-09-10T15:38:26.100 回答