Es ist schon eine Weile her, dass ich einen Build Server eingerichtet habe. Vielleicht habe ich etwas vergessen, oder vielleicht unterscheidet sich .NET 4.5 von der Version, mit der ich dies das letzte Mal gemacht habe, aber hier ist mein Problem.
Ich versuche, einen Build-Server zum Überwachen eines Quellcodeverwaltungs-Repositorys einzurichten. Wann immer sich etwas ändert, möchte ich, dass der Server die Änderungen abruft und das Projekt erstellt. Wenn keine Fehler vorliegen, möchte ich die Site auf einer Website bereitstellen, die auf dem Buildserver ausgeführt wird.
In der Vergangenheit, als ich dies tat, dachte ich, dass ich dies tun könnte, wenn nur .NET installiert ist, aber wenn ich versuche, dieses Projekt zu erstellen, erhalte ich die Fehlermeldung "C:\Programme\MSBuild\Microsoft\VisualStudio\v11" .0\WebApplications\Microsoft.WebApplication.targets "fehlt, und wenn ich nachschaue, kann ich feststellen, dass es fehlt. Tatsächlich gibt es keine Visual Studio 11-Zieldateien.
Nach langem Nachdenken und Kopfkratzen bekam ich das "Windows 8/.NET 4.5 SDK" und dachte, dass das .NET 4.5 SDK die benötigten Zieldateien installieren könnte, aber es geschah nicht, es sei denn, ich habe es irgendwie falsch installiert .
Was muss ich also auf den Build Server setzen, damit das Projekt erstellt wird? Ich würde es vorziehen, nicht das vollständige Visual Studio 2012 installieren zu müssen.
Mein Problem hing mit der Installation des Windows Software Development Kit (SDK) für Windows 8 auf einer Windows 2008-Box zusammen. Wenn Sie auf der Seite weiterlesen, wird die Überschrift ".NET Framework 4.5 SDK-Tools unter Windows Vista und Windows Server 2008" angezeigt. Das sagt dir:
Um auf Ihrem CI-Server ohne Visual Studio ausgeführt zu werden, müssen Sie nur einige Ordner von einem Entwicklungscomputer an denselben Speicherort auf dem CI-Server kopieren. Das SDK muss nicht installiert werden.
VS 2015:
VS 2013:
VS 2012:
VS 2010:
. NET 4.6:
. NET 4.5.2:
. NET 4.5.1:
. NET 4.5:
. NET 4.0.1:
. NET 4.0:
Oder, als Matt schlug vor , könnten Sie sie in ein Unterverzeichnis Ihres Projekts kopieren und das <MSBuildExtensionsPath32>
Speicherort in Ihrer MSBuild (normalerweise .csproj
oder .vbproj
) Datei.
Sobald Sie dies getan haben, wird Ihr Projekt kompiliert.
Sie sollten auch die Umgebungsvariable VisualStudioVersion explizit auf die von Ihnen verwendete Visual Studio-Version (10.0 für VS2010, 11.0 für VS2012, 12.0 für VS2013, 14.0 für VS2015) festlegen, um sicherzustellen, dass sie in Ihrer Konfiguration richtig eingestellt ist.
Von msdn :
Das Windows SDK wird nicht mehr mit einer vollständigen Befehlszeilenumgebung ausgeliefert. Sie müssen einen Compiler und eine Build-Umgebung separat installieren. Wenn Sie eine vollständige Entwicklungsumgebung mit Compilern und einer Buildumgebung benötigen, können Sie Visual Studio 2012 Express herunterladen, das die entsprechenden Komponenten des Windows SDK enthält.
Um dies zu beheben, musste ich den Ordner C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5
von meinem Entwicklungscomputer (der übrigens Visual Studio 2012 enthält) auf die Build-Agenten kopieren. Nach diesem Vorgang hat Team City keine Fehler mehr gemeldet und mscorlib.dll wurde nicht in den Ordner bin ausgegeben.
Microsoft Build Tools 201 hilft in diesem Fall, da auf der Downloadseite beschrieben wird:
Wenn Sie Visual Studio nicht auf Ihrem Computer installiert haben, können Sie mit Build Tools 2013 verwaltete Anwendungen erstellen. Die Visual Basic- und C # -Compiler sind ebenfalls in diesem Download enthalten. (In früheren Versionen waren diese Tools im eigenständigen .NET Framework enthalten.)
Meine Abteilung. geht gerne minimalistisch vor, was auf unseren Win 7-Build-Maschinen installiert ist. Wir möchten jedoch nicht nur Dateien/Ordner kopieren und einfügen, da potenzielle Probleme mit Registrierungsschlüsseln auftreten können. Anstatt VS 2013 zu installieren, habe ich die folgenden viel kleineren und kostenlosen Komponenten installiert. Jetzt kann das Entwicklerteam VS 2013-Webanwendungen erfolgreich erstellen.
Ich löse dieses Problem mit Visual Studio Agents.
Sie können versuchen, Visual Studio Agents 2012 zu installieren.
http://www.Microsoft.com/en-us/download/details.aspx?id=38186