Domanda

Il mio buildbot è in esecuzione per 3 anni utilizzando Devenv.com per compilare i progetti su Windows.

Ora Devenv.com ha problemi a costruire per versioni a 64 bit: passare la configurazione come "debug | x64" genera errori della riga di comando a causa del carattere del tubo. La fuga e il rallentamento tra le citazioni deriva in altri errori, alcuni a causa degli spazi nei nomi della directory, alcuni a causa della riga di comando stranamente compresa.

Ho provato sia vcbuild.exe, sia msbuild.exe. vcbuild.exe funziona perfettamente: mi piacerebbe attenersi ad esso. MsBuild.exe, dall'altra parte, ha una produzione completamente strana e complicata che i miei colleghi si sentono terribili. Ma è pubblicizzato ovunque come IL modo per costruire.

La domanda è: quale di Devenv.com, vcbuild.exe e msbuild.exe è il metodo che è più probabile che duri nel tempo?

È stato utile?

Soluzione

MSBuild (prima di Visual Studio 2010/.NET 4) non costruisce progetti C ++. Chiama a vcbuild.exe. Quindi, se sei felice di non usare MSBuild, mi atterrei a quello per i progetti C ++. Per i progetti gestiti (e per C ++ utilizzando vs 2010) utilizzare MSBuild.

Altri suggerimenti

MSBuild è il metodo "più probabile che durerà". Vcbuild.exe è morto; La sua ultima versione è stata del 2008. MSBuild 4.0 lo utilizzerà comunque, se deve costruire un progetto VC da VS2008 o prima. Per quanto riguarda Devenv.exe - ovviamente, è solo uno studio visivo senza testa. Funzionalmente è lo stesso che colpire la build in vs. Ciò significa che in questi giorni, è essenzialmente solo consegnando a MSBuild, ma a volte con meno parallelismo di quanto otterrà MSBuild.exe. Il motivo principale per cui potresti ancora dover usare Devenv.exe è .vdproj (distribuzione) progetti. Queste cose legacy hanno un processo di build hard codificato in vs. Raccomando un'alternativa come Wix o InstalShield a base MSBuild. Non molto tempo fino a quando tutto si accumula in VS è MSBuild.

In breve - MSBuild è il futuro, usalo a meno che tu non abbia progetti di distribuzione o altre circostanze speciali.

Dan

Ho riscontrato lo stesso problema e l'ho risolto con il carattere del tubo: shell shell:

"Debug^|Win32"

MSBuild.exe non sapeva (non sapeva come costruire progetti di configurazione. Devenv.exe lo fa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top