2010-01-18 9 views
5

Erstellt eine Manged C# DLL mit Assemblys von SMO der Version: 10.0.0.0 von SQL 2008 und ich rief die Funktionen in dieser DLL aus einem nicht verwalteten C++ - Code. Diese Anwendung wird erfolgreich für SQL Server 2008 ausgeführt, aber diese Anwendung löst eine Ausnahme aus, wenn ich für SQL Server 2005 wie folgt ausgeführt werde:SMO-Code-Unterstützung für beide SQL 2005 und SQL 2008

Beschreibung: Datei oder Assembly konnte nicht geladen werden 'Microsoft.SqlServer.Smo, Version = 10.0.0.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91 'oder eine seiner Abhängigkeiten. Die angegebene Datei wurde vom System nicht gefunden.

Was wäre der Grund?
Scheitert es in SQL 2005 wegen der Version mismacth von SMO?
Wie kann ich sql 2005 und sql2008 in meiner Anwendung mit einer einzigen C# dll unterstützen?

+0

Es sieht aus wie es wegen der Versionskonflikte versagt - ich auch dieses Problem gehabt haben und würde gerne die Antwort wissen! – justinlatimer

Antwort

3

Ich habe das gleiche Problem vor, führen Sie diese Anwendung von der gleichen Maschine, auf der Sie 2008 und 2005 installiert haben?

Wenn nicht, empfehle ich Ihnen, die SMO-Bibliotheken für Sql 2008 auf dem Computer/Client zu installieren, auf dem Sie die Assembly ausführen.

This download will give you the libraries

+0

Die Anwendung ist in der Maschine mit Sql 2008 gebaut und Iam läuft diese Anwendung in einem anderen Rechner mit SQL2005. Ich werde diesen Download installieren und das Ergebnis aktualisieren. Danke – user186246

+0

Nach der Installation von SMO 2008 lief die Anwendung erfolgreich in der Maschine mit SQL 2005. Aber können wir nicht eine Anwendung vorbereiten, die SMO - unterstützt sowohl SQL2005 und SQL2008 ?? – user186246

+0

Ihre Anwendung "unterstützt" sowohl 2005 als auch 2008, aber da die Anwendung, die Sie erstellt haben, einen Verweis auf die Assembly von Sql 2008 hat, müssen Sie nur die 2008-Bibliothek auf dem Client-Rechner installiert haben. –