2010-10-08 14 views
62

Chcę zautomatyzować proces kompilacji dla moich rozwiązań C#. Jak mogę budować rozwiązania C# z wiersza poleceń, aby nie musiałem ręcznie radzić sobie z zależnościami?Budowanie rozwiązań C# z wiersza poleceń za pomocą Visual Studio 2010

+0

Co sprawia, że ​​myślisz, że Zależności nie ma znaczenia, jeśli opierać się na linii cmd? Jest to helluvalot bardziej ręczny, będziesz musiał wpisać pełną nazwę ścieżki do zespołu zależnego. –

+0

Nie jestem pewien, czy zrozumiałeś mnie poprawnie. Wszystko, czego chcę, to po prostu zbudować rozwiązanie C# z linii poleceń w taki sposób, aby (prawie) była tylko ścieżka do pliku rozwiązania, a MSBuild wydaje się być drogą do zrobienia. – alexfr

Odpowiedz

38

jeśli otworzysz wizualny wiersz polecenia studio z menu start - wtedy można wywołać MSBuild i dać że albo plik .sln lub konkretny plik .csproj w celu zbudowania potrzebnego rozwiązania, można również utworzyć niestandardowy plik MSBuild, który zajmuje się zadaniami.

jedna wskazówka: upewnij się, że wersja MSBuild, którego używasz ma zastosowanie do ramowej cel lub Narzędzia wersji projektu

tj jeśli spróbujesz i zbudować rozwiązanie, które zostało utworzone w VS2010 z msbuild 3,5 ówczesnego to nie rozpozna zestawu narzędzi 4.0 dla projektu

+0

Musiałem wykonać 'vcvarsall.bat' zanim mogłem uzyskać' msbuild' do uruchomienia z dowolnej starej instancji cli, gdy już to zrobiłem jak urok! –

+2

Zamiast tego możesz otworzyć "Wiersz poleceń programisty": Wszystkie programy -> Microsoft Visual Studio -> Narzędzia Visual Studio. – kroiz

17

msbuild YourSolution.sln

+3

Skąd wiadomo, czy wykonać kompilację Debug lub Release? – Qwertie

+0

"msbuild /?" dla argumentów linii poleceń, w tym debug/release –

67

Dla rozwiązań można użyć:

devenv /build Release Solution.sln

lub

devenv /build Debug Solution.sln

+9

Wymaga to zainstalowania Visual Studio na maszynie wykonującej kompilację. msbuild jest dostępny w środowisku .net. –

+1

+1. Z nieznanego powodu msbuild nie działa na zupełnie nowym pliku .sln wygenerowanym za pomocą 'qmake -recursive -tp vc my.sln'. Musiałem otworzyć rozwiązanie za pomocą VS, aby uruchomić msbuild. Dzięki devenv mogę zautomatyzować proces tworzenia i qmake. Dzięki –

22

Pliki projektu i rozwiązania Visual Studio są również plikami kompilacji .

można po prostu uruchomić MSBuild przeciwko pliku rozwiązania/projektu i będzie budować:

<path to>msbuild.exe <path to>solution/project file 
Powiązane problemy