2015-11-03 12 views
6

Ich verwende ein Powershell-Skript, das intern Msbuild aufruft, um meine Lösungen zu erstellen. Das funktioniert prinzipiell, also sind die Lösungsdateien in Ordnung.erster Aufruf von Msbuild hängt

Ich kann den Build wiederholen, es funktioniert einwandfrei.

Aber der Bau hängt

  • das erste Mal, dass ich das Skript (nach Neustart) starten
  • nach einiger Zeit/Aktionen während der Arbeitszeit, keine Ahnung, welche Änderungen

Also meine Der Verdacht ist, dass msbuild eine Komponente verwendet, die nicht geladen wird, wenn ich neu starte/während der Arbeit entladen wird.

Aber ich habe keine Ahnung, wie das Problem zu finden ...

Ich verwende diese exe: C: \ Program Files (x86) \ MSBuild \ 14.0 \ bin \ MSBuild.exe

Irgendwelche Ideen?

Antwort

8

Für alle, die auf dieses Problem stoßen: Roslyn führt standardmäßig eine "geteilte Kompilierung" durch, was bedeutet, dass die Ergebnisse der Kompilierungen für weitere Kompilationen verwendet werden, um an Geschwindigkeit zu gewinnen. Sie können dies ändern, indem Sie "False" für UseSharedCompilation in VBPROJ-Dateien angeben oder einen ähnlichen Schalter für MsBuild verwenden. Wenn Sie diese Option ausschalten, wird die Kompilierung langsamer, aber der Lauf hängt nicht.

+0

hier ist der Link zum letzten Hinweis: http: //stackoverflow.com/questions/31708758/numerous-instances-of-vbcscompiler-exe/31884658#31884658 – klawusel

+5

Danke - das ist ausgezeichnet! Der Schalter, um es direkt gegen Msbuild zu verwenden, ist '/ p: UseSharedCompilation = false' –

Verwandte Themen