2012-12-18 7 views
5

Ho un programma client scritto in C# dove uno dei progetti nella soluzione gestisce un caso che la macchina ha installato SQL 2005.Avviso: impossibile trovare dll

ho aggiunto le DLL rilevanti, ma ottengo questo avvertimento:

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.

Secondo le proprietà di Microsoft.SqlServer.ManagedDTS sua versione è 9.0.3042.0, non capisco il motivo per cui richiede l'versione 9.0.242.0. Non so se è collegato, ma la versione di Microsoft.SQLServer.DTSRuntimeWrap è 9.0.242.0.

Cosa ho provato?

  • cancellazione e aggiungendo il riferimento
  • Modifica manualmente la versione richiesta nel file csproj
  • ho pensato di ottenere tutte le DLL con la stessa versione, ma non ha trovato una tale fonte al web.

Qualsiasi idea? Grazie, KM

EDIT: Altri dettagli,

  • mio framework di destinazione è .Net 4.0
  • Ho impostato il 'useLegacyV2RuntimeActivationPolicy' true
+3

+1 per quello che hai provato. – rekire

+0

Che tipo di caso? Controllare anche http://connect.microsoft.com/VisualStudio/feedback/dettagli/519539/reference-to-microsoft-sqlserver-manageddts-dll-only-works-if-target-framework-set-to-net-4-0 –

+0

Il caso in cui la macchina che esegue l'app SQL2005 è installato – KernelMode

risposta

0

Come @Mightymuke menzionato nei commenti, Fuslogvw.exe mostra quali DLL sono state caricate. Uno dei miei progetti aveva un riferimento alla DLL che faceva riferimento a una vecchia versione di Microsoft.SqlServer.ManagedDTS.

0

tenta di aggiungere il riferimento dal :

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

E impostare la copia locale per il riferimento in VS per vero, spero che questo aiuti.

0

Per quanto ne so SQL CLR non è attualmente compatibile con .NET 4.0, si dovrebbe provare a passare a 3.5 e vedere è che aiuta.

+0

Uno dei requisiti è il framework 4.0 di destinazione, quindi non posso cambiarlo. – KernelMode

0

Controllare la versione del sistema andando a:

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

Se sono diversi quindi fare clic su Add reference e seguire il link per aggiungere lo stesso.

Anche in web.config, sotto il tag assembly rimuovere quello con la versione precedente.