2009-08-23 6 views
1

Hinweis, ich habe Subsonic 2.2 ausgiebig benutzt und liebe es. Dies ist meine erste Erfahrung mit 3.0.Fehler mit Subsonic 3.0 ActiveRecord kompilieren?

Ich möchte Subsonic zu meiner Klassenbibliothek hinzufügen, anstatt die Website. Zuerst, wenn ich das tue und versuche, das benutzerdefinierte Tool zum Kompilieren der Vorlagendateien auszuführen, erhalte ich Fehler, die sagen, dass es keine app.config-Datei gibt. In Subsonic 2 konnte ich dies tun und auf meine web.config-Datei verweisen. Die erste Frage lautet also: Kann ich die Datei web.config beim Hinzufügen von Subsonic zu einer externen Klassenbibliothek verwenden?

Die zweite Sache, die ich erfahre, sind 44 identische Kompilierungsfehler.

Dies ist der Fehler von VS 2008:

Fehler 44 ‚krazyCommon.model.atDB‘ enthält keine Definition für ‚Provider‘ und keine Erweiterungsmethode ‚Provider‘ ein erstes Argument des Typs ‚krazyCommon akzeptieren. model.atDB 'könnte gefunden werden (fehlt eine using-Direktive oder eine Assembly-Referenz?) C: \ dev \ krazybuys \ krazyCommon \ model \ StoredProcedures.cs 175 100 krazyCommon

und dies ist der Code, der das verursacht . Am Ende der Zeile this.Provider wird der Fehler verursacht. In VS hat es eine verzerrte Linie darunter.

public StoredProcedure aspnet_UsersInRoles_RemoveUsersFromRoles(){ 
     StoredProcedure sp=new StoredProcedure("aspnet_UsersInRoles_RemoveUsersFromRoles",this.Provider); 
     return sp; 
    } 

Ich bin perplex, wie ich denke, dass ich alles richtig mache. Jede Hilfe wäre willkommen.

Vielen Dank.

Antwort

0

Sorry, ich habe vergessen hinzuzufügen, dass ich eine app.config-Datei zur Klassenbibliothek hinzugefügt und eine conn-Zeichenfolge hinzugefügt habe, bevor ich die 44 Fehler bekam.

1

Update, ich habe die Ursache des Kompilierungsfehlers gefunden. Ich habe den Namensraum in der Einstellungsdatei geändert. Der Namespace wurde jedoch in der Ausgabe von stainedprocedure.tt nicht aktualisiert. Es ändert sich für ActiveRecord und Inhalt, aber nicht für gespeicherte Prozeduren. Ich habe den Namespace manuell geändert und ohne Fehler kompiliert.

Ist das ein Fehler in der Vorlage oder Unterschall? Kann der Namespace in den Einstellungen geändert werden? Und wenn dies der Fall ist, sollte Subsonic das aufheben, wenn Sie mit der rechten Maustaste auf ActiveRecord, Inhalt und gespeicherte Prozeduren klicken und "Custom Tool erneut ausführen".

Danke

+0

Nachdem Sie die Vorlage bearbeitet haben, müssen Sie sie erneut ausführen (Rechtsklick und Ausführen von benutzerdefinierten Tool). Dann wird die Datei mit den aktualisierten Einstellungen neu erstellt. –