2012-12-18 115 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,在組件標籤下刪除舊版本。