Wie kann ich daraus ein ASP.Net MVC-Projekts mithilfe von MSBuild
Wie kann ich Sie kompilieren eine ASP.Net MVC-Projekt mit MSBuild? Wir verwenden einen Continuous Integration server zu kompilieren und implementieren unserer Anwendungen. Um Dinge einfach zu halten, die ich erstellt eine MVC 1.0-Projekt in VS2008. Ich schuf sofort ein MSBuild-Skript-Datei zu kompilieren. Ich habe keine änderungen an code in das Projekt. Der MSBuild-Skript enthalten, die folgende Ziel.
<AspNetCompiler VirtualPath="/" PhysicalPath="C:\Development\mvc1\" TargetPath="c:\publish\xxx" Force="true" Debug="false" Updateable="true"
Dem MVC-Projekt sln-Datei, die enthalten ist in c:\development\mvc1\ Verzeichnis. Ich arbeite mit XP/Pro.
Ich erhalte eine Fehlermeldung, ASPCONFIG: es ist ein Fehler, auf einen Teil registriert allowDefintion='MachineToApplication' über Anwendungs-Ebene.. habe ich entfernt, der authenication-Modus, Mitgliedschaft, etc. von der web-config-Datei, bis ich schließlich sah eine andere Fehlermeldung. Ich bin jetzt erhalten ein Fehlermeldung, dass die Datei " /views/shared/site.master " ist nicht vorhanden.
Was ist Los? Vielen Dank im Voraus für Eure Hilfe!
Bin ich mit den falschen MSBuild-Befehl?
- was CI-server verwenden Sie?
- das Problem ist nicht mit dem ci-server. Ich habe nicht Hinzugefügt, dass in der Mischung nur noch. Ich bin versucht, zu erstellen eine MSBuild-Skript kompilieren Sie die Anwendung auf meinem Entwicklungsrechner. Sobald das funktioniert, werde ich versuchen, zu implementieren, die es auf unserem ci-server. wir verwenden TeamCity
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie kompilieren Sie die sln-Datei (msbuild-mysolution.sln) oder
- und die sln-Datei hat die ASP.NET MVC-Projekt .csproj-Datei, dann die .csproj-Datei ist alles, was Sie brauchen. Öffnen Sie die .csproj mit notepad und suchen Sie nach:
1) sollte Dies wahr sein:
2) Target Name="AfterBuildCompiler":
Ich nicht etwas anderes tun und es funktionierte. Ich eigentlich meine config so, dass nur die Freigabe erstellen und bereitstellen der Anwendung (durch das verschieben MvcBuildViews-Eigenschaft unter PropertyGroups. Dann kann ich den mit dem gleichen .csproj in der Entwicklung (debug) und Bereitstellung (Veröffentlichung).
Der einfachste Weg ich gefunden habe, war das hinzufügen einer WebDeployment Projekt zu Ihrer Lösung.
http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=0aa30ae8-c73b-4bdd-bb1b-fe697256c459&displaylang=en
Legen Sie die Eigenschaften für das bauen in der WebDeployment Projekt (wie precompile ) . Der Buildserver baut die wdprj.
In meinem Umfeld habe ich zu Beginn durch den Aufbau der web-ersten. Nach, dass ich anfangen kann die wdprj.
Hier ist mein nant - Skript. Es sollte einfach das gleiche schreiben in msbuild. Eigentlich läuft das in TeamCity.
Könnten Sie NAnt der hat eine "msbuild" Aufgabe, die wird einfach tun es für Sie. NAnt ist ein guter Weg zu gehen für die CI-builds.
Den NAnt-Startseite
Die NAnt Contrib Startseite
Die MSBuild-task-Referenz von NAnt Contrib
...der contrib-Bibliothek fügt einige große Funktionalität, die Vanille-NAnt nicht haben. Es ist sehr einfach. Ich habe einen Ausschnitt von meinem .build-Datei hier, so dass Sie sehen können, wie ich ihn einmal verwendet habe: