警告:找不到DLL

时间:2012-12-18 06:44:25

标签: c# sql dll version fxcop

我有一个用 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都使用相同的版本,但是没有在网上找到这样的来源。

任何想法?谢谢,KM

编辑: 另一个细节,

  • 我的目标框架是.Net 4.0
  • 我已将'useLegacyV2RuntimeActivationPolicy'设为true

4 个答案:

答案 0 :(得分:0)

尝试添加以下参考:

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

转到:

检查系统版本

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

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

同样在web.config中,在assembly标签下删除旧版本的那个。

答案 3 :(得分:0)

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