2009-06-22 7 views
0

Ich setze meine Dateien auf einen Produktionsserver. Auf meiner Entwicklungsmaschine benutze ich momentan die abp-Datei, um meinen Code zu generieren.Fehler bei Dateien, die mit SubSonic's SubCommander-Tool generiert wurden

Zum Verschieben der Website auf meinen Produktionsserver dachte ich, dass ich die Dateien automatisch generieren würde, da ich einen Fehler mit der abp-Datei erhalten habe, da ich sie nicht unter FullTrust ausführe.

lief ich die folgende Befehlszeile, die Dateien zu erzeugen:

sonic.exe generate /server "serverName" /db "dbName" /generatedNamespace "namespace" /out GeneratedFiles 

Alle Dateien erzeugen in Ordnung, aber wenn ich versuche, bekomme ich folgende Fehler auszuführen:

Object reference not set to an instance of an object. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. 

Source Error: 

Line 228:  public static Select Select() 
Line 229:  { 
Line 230:   return Repository.Select(); 
Line 231:  } 
Line 232:  


Source File: ~\AllStructs.cs Line: 230 (*changed to not show full path) 

Irgendwelche Ideen, was verursacht das? Ich kann nichts über SubSonics Anblick finden, was mir einen richtigen Einblick gibt, was passiert.

Antwort

0

Haben Sie eine app.config oder web.config in Ihrer Projektdatei mit einer Verbindungszeichenfolge, die sich auf Ihre Instanz bezieht?

+0

Ja, ich habe eine Verbindungszeichenfolge, die auf die DB verweist, die ich verwende. Ich verwende einen anderen Server auf dem Produktionsrechner, habe aber die web.config geändert, um das zu berücksichtigen. Kann die Verbindungszeichenfolge den Fehler beeinflussen? – Fermin

+0

SubSonic definiert einen Provider statisch in den erzeugten Dateien. Und der Anbieter hat eine verknüpfte Verbindungszeichenfolge. Ich denke, Sie müssen beides in Ihrer Datei web.config haben. Versuchen Sie, die Zeile zu finden >> öffentliche statische DataProvider _provider = DataService.Providers ["YourProviderNameHere"]; << in Ihren AllStructs. Wenn SubSonic Ihren Provider nicht finden kann, wird er nicht ausgeführt. –

+1

Hinweis: Wenn Sie in Ihrer web.config einen Provider haben, versuchen Sie, das Argument/provider an sonic.exe zu übergeben, damit es mit dem Namen –

Verwandte Themen