2013-10-16 10 views
5

Ich hoffe, SMO zu verwenden, um einen Dacpac auf eine Remote-SQL-Umgebung zu implementieren, weg von meinem eigenen Entwicklungscomputer. In meinem Projekt referenziere ich eine .dll-Datei, die in mein Build-Verzeichnis ausgegeben wird, wenn ich "Build Solution" drücke.Einschließlich DLL in Dacpac-Datei

Ist es möglich, die .dll-Datei mit dem Dacpac zu bündeln oder muss ich meine referenzierten Dateien mit der Dacpac-Datei auf dem Remote-Server in einen angegebenen Ordner stellen, um sie zu referenzieren?

Momentan erhalte ich den Fehler "Keine Datei wurde für Referenz-DLL bereitgestellt" beim Bereitstellen in einer Remote-Umgebung, da der Dacpac die DLL nicht darin enthalten hat, auch wenn ich "Copy Local" auf "True" setze.

Beim Öffnen von Model.xml kann ich sehen, dass die Datei auf den Verweis verweist, wo sich der Verweis auf meiner Festplatte befindet. Wie kann ich dies ändern, um im ausgegebenen dacpac-Ordner dynamisch zu suchen?

Dank

+0

Haben Sie jemals eine Lösung oder eine Umgehungsmöglichkeit für dieses Problem gefunden? –

Antwort

1

Sie benötigen DLLs zusammen mit Ihrem DACPAC nur für den Einsatz. Nach erfolgreicher Bereitstellung sind weder DACPACs noch DLLs erforderlich (wie würde SQL Server sie finden können, sondern nur Assemblys in GAC oder solche, die von CREATE ASSEMBLY erstellt wurden). Sie können das für die Bereitstellung erstellte SQL-Skript überprüfen, und Sie werden sehen, dass alle DLLs darin als CREATE/ALTER ASSEMBLY enthalten sind.

Verwenden Sie unbedingt die neueste Version von SSDT.