7

Ho un tipo di progetto di terze parti in Visual Studio che per qualche motivo supporta solo la piattaforma .NET Configurazione per la build, per tutti gli altri progetti (standard C#) nella soluzione I solo AnyCPU. Purtroppo, da quando l'aggiornamento a VS 2010 produce l'errore seguente quando costruzione:Configurazione piattaforma per progetti in VS 2010

Errore 39 La proprietà è OutputPath non è impostato per il progetto 'ReferencedBusinessProject.csproj'. Verificare che lo abbia specificato una combinazione valida di Configurazione e piattaforma per questo progetto . Configuration = 'Debug' Piattaforma = '. NET'. Questo errore può anche visualizzato se qualche altro progetto sta cercando di seguire un riferimento di progetto a progetto a questo progetto, questo progetto è stato scaricato o non è inclusi nella soluzione, e il progetto fa riferimento a non costruire utilizzando la stessa configurazione o la piattaforma equivalente. C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets 483 10 CustomTypeProject

E 'più o meno descrittivo in ciò che manca, ma non ho trovato un modo per risolvere il problema fino ad ora . Hai idea di come questo possa essere risolto o quale possa essere il problema?

+0

l'aggiunta/modifica di OutputPath nel file .csproj non risolve il problema? – alexandrul

+0

Probabilmente risolverebbe il problema (parte del) se inserissi un OutputPath incondizionato (per tutte le configurazioni). Il problema è tuttavia che la configurazione non viene riconosciuta e come risultato tutte le proprietà condizionate vengono ignorate. –

+0

Hai provato a creare una 'nuova soluzione' con segnaposti di progetto vuoti che riassumono ciò che hai veramente. Quindi guarda/modifica/modifica il file .csproj reale in base ai file 'placeholder'.csproj? probabilmente mancano grandi sezioni nel file .csproj che specificano diverse configurazioni per differenti build. Non sono un esperto di MSBUILD, ma dopo tutto è solo un po 'di XML. –

risposta

3

La piattaforma .Net deve essere stata creata per il progetto prima di averla ricevuta per ragioni di trasparenza, controllare le impostazioni del progetto e se sta creando una CPU, quindi correggere la configurazione del progetto. (Gli standard sono AnyCPU, x86, x64, win32) ecc ...

Ti suggerisco di fare clic con il pulsante destro del mouse sul file ".sln" e nel gestore di configurazione impostare le proprietà di ciò che desideri costruire quando chiami una piattaforma . Cioè

Questo campione è meglio servito con una configurazione chiamate "piattaforme miste"

csproj1 platform=AnyCPU configuration=debug build checkbox (checked) 
csproj2 platform=.net configuration=debug build checkbox (checked) 

Questo vi permetterà di costruire con msbuild La chiamata sarebbe

msbuild my.sln /p:configuration="Debug" /p:platform="Mixed Platforms" 

Entrambi i progetti saranno costruire.