2012-12-18 80 views
5

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

我已经加入了相关的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' 真
+3

+1你尝试过。 – rekire

+0

什么情况? 另请查看http://connect.microsoft。com/VisualStudio/feedback/details/519539/reference-to-microsoft-sqlserver-manageddts-dll-only-works-if-target-framework-set-to-net-4-0 –

+0

运行应用程序的机器已安装SQL2005 – KernelMode

回答

0

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

0

尝试从添加引用:

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

并设置本地副本为在VS中引用真实,希望这有助于。

0

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

+0

其中一个要求是目标框架4.0,所以我无法更改它。 – KernelMode

0

查询系统的版本通过转到:

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

如果它们是不同的,那么点击Add reference并按照链接添加相同。

也在web.config,在组件标签下删除旧版本。