Frage

Wir haben kürzlich auf Entity Framework Data Migrations umgestellt und ich arbeite an einigen Build Automation-Skripts für unsere MVC-App.Ich kann die Migrationen mit dem Werkzeug Migrate.exe in 4.3 erfolgreich von unserem Build-Server ausführen. Wenn ich ein web.config habe, um ihn zu zeigen. Der Befehl sieht so etwas aus:

generasacodicetagpre.

Aus verschiedenen Gründen möchte ich jedoch nicht mit dem Web.config vermeiden und einfach die richtige Verbindungszeichenfolge zum Zeitpunkt der Migration weitergeben:

generasacodicetagpre.

Das funktioniert nicht.Schlimmer, stürzt migrate.exe mit einer NullReferenceException ab.Die Verbindungszeichenfolge ist identisch mit dem, den wir in unserem web.config verwenden.

jemand hat das schon vorher getroffen?Ist mein Verbindungszeichenfolge falsch?Fehler

War es hilfreich?

Lösung

ok, wir haben es herausgefunden.Beim Laufen ohne Web.config muss der Parameter connectionProvidName auch übergeben werden:

generasacodicetagpre.

Ich habe bestätigt, dass dies funktioniert.

Andere Tipps

Ich muss noch keine Lösung finden, die eigentlich arbeitet, ohne die Datei web / app.config anzugeben.Siehe unten.

Wenn Sie jedoch das Bereitstellen eines Web / app.config akzeptieren und die Verbindungszeichenfolge als Befehlszeilenparameter überschreiben können, funktioniert die folgenden mit Entity Framework 5.0 Nuget und .NET 4.5.Sollte auch für .NET 4.0 mit dem dokumentierte Problemumgehungen .

.

Beispielordnerstruktur:

generasacodicetagpre.

run_migration.bat:

generasacodicetagpre.

Ende der Lösung.


Auslassen der Konfigurationsdatei:

Wenn Sie versuchen, die Konfigurationsdatei auszulassen, habe ich immer die folgende Ausnahme, egal was ich versucht habe.Ich habe EF 4.3 nicht versucht, also vermute ich, dass das Verhalten zwischen 4,3 und 5.0 geändert wurde.

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top