Próbuję użyć programu MSBuild do zbudowania rozwiązania z określoną platformą docelową (potrzebuję obu plików binarnych, x86 i x64). Oto jak to wypróbowałem:
C:\WINDOWS\Microsoft.NET\Framework\v3.5>MsBuild SolutionPath\Solution.sln /t:Rebuild /p:Configuration=Release /p:Platform="x86"
Jednak kompilacja zawsze kończy się niepowodzeniem, jeśli platforma jest inna niż „Dowolny procesor”. Co ja robię źle?
To jest while wyjściowe wydruki programu MSBuild:
C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5> MsBuild SolutionPath \ Solution.sln / t: Rebuild / p: Configuration = Release / p: Platform = "x86" Microsoft (R) Build Engine Version 3.5.30729.1 [ Microsoft .NET Framework, wersja 2.0.50727.3082] Copyright (C) Microsoft Corporation 2007. Wszelkie prawa zastrzeżone.
Budowanie rozpoczęto 1.7.2010 8:28:10. Projekt „SolutionPath \ Solution.sln” w węźle 0 (Przebuduj t (y) targe). SolutionPath \ Solution.sln: błąd MSB4126: Określona konfiguracja rozwiązania „Release | x86” jest nieprawidłowa. Proszę określić poprawną konfigurację rozwiązania, używając właściwości Konfiguracja i Platforma (np. MSBuild.exe Solution.sln / p: Configuration = Debug / p: Platform = "Any CPU") lub pozostaw te właściwości puste, aby użyć domyślnej konfiguracji rozwiązania. Projekt budowy "SolutionPath \ Solution.sln" (Odbuduj t arget (y)) - BŁĄD.
Budowa nieudana.
„SolutionPath \ Solution.sln” (Rebuild target) (1) -> (ValidateSolutionConfiguration target) -> SolutionPath \ Solution.sln: błąd MSB4126: Określona konfiguracja rozwiązania „Release | x86” jest nieprawidłowa. Określ prawidłową konfigurację rozwiązania, używając właściwości Konfiguracja i Platforma (np. MSBuild.ex e Solution.sln / p: Configuration = Debug / p: Platform = "Any CPU") lub pozostaw te właściwości puste, aby użyć domyślnej konfiguracji rozwiązania.
0 Warning(s) 1 Error(s)
Upłynął czas 00: 00: 00.03
Jeśli spróbuję zbudować go na x86 / x64 za pomocą devenv, działa idealnie, jednak próbuję skonfigurować serwer kompilacji bez instalowania wszystkich niezbędnych wersji Visual Studio. Nawiasem mówiąc, jeśli istnieje lepsze darmowe narzędzie (obsługujące .NET Framework 4), bardzo chciałbym o tym usłyszeć.
Win32
podczas gdy moden .NET używax86