2010-01-18 15 views
5

Preparata una DLL C# gestita utilizzando assembly di SMO della versione: 10.0.0.0 di SQL 2008 e ho chiamato le funzioni in questa DLL da un codice C++ non codificato. Questa applicazione è in esecuzione correttamente per SQL Server 2008 ma questa applicazione genera eccezioni quando eseguo SQL Server 2005 come segue:Supporto del codice SMO per sql 2005 e sql 2008

Descrizione: Impossibile caricare il file o l'assembly 'Microsoft.SqlServer.Smo, Versione = 10.0.0.0, Culture = neutro, PublicKeyToken = 89845dcd8080cc91 'o una delle sue dipendenze. Il sistema non trova il file specificato.

Quale sarebbe il motivo?
Si è verificato un errore in SQL 2005 a causa della versione errata di SMO?
Come posso fornire supporto per sql 2005 e sql2008 nella mia applicazione utilizzando una sola dll C#?

+0

Sembra che sta venendo a mancare a causa di differenze di versione - Ho avuto anche questo problema e mi piacerebbe sapere la risposta! – justinlatimer

risposta

3

Ho affrontato lo stesso problema in precedenza, si sta eseguendo questa applicazione dalla stessa macchina in cui sono installati 2008 e 2005?

In caso contrario, suggerisco di installare le librerie SMO per Sql 2008 sulla macchina/client su cui si sta eseguendo l'assieme.

This download will give you the libraries

+0

L'applicazione è costruita nella macchina con sql 2008 e iam che esegue questa applicazione in un'altra macchina con sql2005. Installerò questo download e ti aggiornerò sul risultato. Grazie – user186246

+0

Dopo l'installazione di SMO 2008 l'applicazione è stata eseguita correttamente nella macchina con SQL 2005. Ma non possiamo preparare un'applicazione che utilizza SMO - supportando sia sql2005 che sql2008 ?? – user186246

+0

L'applicazione 'does' supporta sia il 2005 che il 2008, ma poiché l'applicazione che hai creato ha un riferimento all'assembly di Sql 2008 hai solo bisogno di avere la libreria 2008 installata solo sulla macchina' client'. –

Problemi correlati