2009-07-01 4 views
3

Ich habe Code, der Microsoft.SqlServer.Management.Smo verwendet. (Errichtet in Visual Studio 2005 SP1) Es funktioniert gut auf SQL 2000 & SQL 2005-Maschine. Aber wenn es auf SQL 2008-Computer ausgeführt wird, wirft es eine Ausnahme:Anwendung kann nicht finden Microsoft.SQLServer.SMO auf SQL 2008 Maschine

System.IO.FileNotFoundException: Konnte Datei oder Assembly ‚laden Microsoft.SqlServer.Smo, Version = 9.0.242.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91 'oder eine seiner Abhängigkeiten. Die angegebene Datei wurde vom System nicht gefunden. Dateiname: 'Microsoft.SqlServer.Smo, Version = 9.0.242.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91'

=== LOG: Diese binden beginnt in Standardladekontext. LOG: Keine Anwendungskonfigurationsdatei gefunden. LOG: Verwenden der Computerkonfigurationsdatei von C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ config \ machine.config. LOG: Post-Politik Referenz: Microsoft.SqlServer.Smo, Version = 9.0.242.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91 LOG: Der Versuch, Download neuer URL file: /// C:/Dokumente und Einstellungen/Automatisierung/Desktop /Debug/Microsoft.SqlServer.Smo.DLL. LOG: Versuch des Herunterladens der neuen URL-Datei: /// C:/Dokumente und Einstellungen/Automatisierung/Desktop/Debug/Microsoft.SqlServer.Smo/Microsoft.SqlServer.Smo.DLL. LOG: Download der neuen URL-Datei versuchen: /// C:/Dokumente und Einstellungen/Automatisierung/Desktop/Debug/Microsoft.SqlServer.Smo.EXE. LOG: Versuch des Herunterladens der neuen URL-Datei: /// C:/Dokumente und Einstellungen/Automatisierung/Desktop/Debug/Microsoft.SqlServer.Smo/Microsoft.SqlServer.Smo.EXE.

Ich habe installiert SQL 2005 Abwärtskompatibilität Pack (aktualisiert für SQL 2008) & SQL Management Objects (Aktualisiert für SQL 2008)

Irgendwelche Vorschläge.

Ich ging durch SQL Server SMO complains of missing DLL aber eine Hilfe nicht viel.

Antwort

3

ich das Problem gefunden. Ich baute das Projekt mit Verweisen auf SQL 2005 SDK DLLs. Ich entfernte alle Referenzen & hinzugefügt die Referenzen erneut (jetzt zeigt auf SQL 2008 dlls Ansicht post: http://msdn.microsoft.com/en-us/library/ms162129.aspx) für die Liste der Referenzen zu addieren. Zusätzlich muss der Zielcomputer Microsoft SQL Server 2005-Abwärtskompatibilitätskomponenten & Microsoft SQL Server 2008 Management Objects & SQL Server System-CLR-Typen (2008) installiert haben.

0

Werfen Sie einen Blick auf die "Microsoft SQL Server 2008 Management Objects" in Microsoft SQL Server 2008 Feature Pack, April 2009 (stellen Sie sicher, dass SQL Server 2008 Service Pack 1 installiert haben)

+0

Ich habe bereits Microsoft SQL Server 2005 Abwärtskompatibilität Komponenten & Microsoft SQL Server 2008 Management Objects installiert. –

0

nicht sicher, ob das Problem gelöst wurde, aber es klingt wie das ursprüngliche Plakat hatte die „Specific Version“ Eigenschaft auf „True“ für die dll.

Um dies zu beheben, wählen Sie den Verweis in den Ordner Verweise und stellen Sie die „Specific Version“ Eigenschaft auf true.

Microsoft hat einige Funktionen Microsoft.SMO.Extended bewegen, aber das ist ein anderes Thema

+0

Auch wenn ich die Eigenschaft "Spezifische Version" auf "falsch" änderte, funktionierte das nicht. Das war, weil ich in meinem Fall versuchte, eine Anwendung auszuführen, die mit Bezug auf V9-DLLs auf einem Computer mit V10-DLLs erstellt wurde. –

+1

Ah, ich verstehe. Wir sind gerade auf dieses Problem gestoßen. Um dieses Problem zu umgehen, haben wir die meisten DLLs aus dem Verzeichnis .. \ Microsoft SQL Server \ 90 \ SDK \ Assemblies direkt in das bin-Verzeichnis unseres Projekts kopiert. Die App wird im Verzeichnis bin nach den Referenzen suchen (anstelle des GAC, da es nicht im GAC auf dem Zielcomputer existiert) –

Verwandte Themen