Ho una soluzione .NET con un C++ gestito assemlby Targeting .NET 3.5 creato con VS2010. Il comando:Come creare un progetto C++ VS2010 su un BuildServer
%windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe MyProject.sln
compila la soluzione sulla mia macchina di sviluppo.
Sul mio buildserver ottengo questo errore:
Build FAILED.
"F:\CruiseControl.NET\Projects\MyProject\MyProject.sln" (default target) (1) -> "F:\CruiseControl.NET\Projects\MyProject\MyProject\MyProject.csproj" (default target) (2) -> "F:\CruiseControl.NET\Projects\MyProject\MyProjectMAPIHelper\MyProjectMAPIHelper.vcxproj" (default target) (3) ->
F:\CruiseControl.NET\Projects\MyProject\MyProjectMAPIHelper\MyProjectMAPIHelper.vcxproj(23,3): error MSB4019: The imported project "C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the<Import>
declaration is correct, and that the file exists on disk.0 Warning(s) 1 Error(s)
Sulla mia macchina dev file rivendicato
"C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.Default.props"
esiste. Sul mio server di build no.
Quando provo a copiare questi file (e tutti gli altri nella stessa directory) si sono verificati altri errori. Quindi questo è il modo sbagliato.
EDIT: altri errori significa: Quando ho Copiare il file "Microsoft.Cpp.Default.props" sul server di build, MSBuild sta sostenendo altri file. Ciò dimostra che fare una copia dei file mancanti non è ciò che l'ambiente di costruzione si aspetta. Sto cercando un pacchetto MSI/qualunque che potrei installare sul mio server di compilazione e qualsiasi progetto C++ creerà. L'installazione dell'SDK non ha funzionato. O ho fatto qualcosa di sbagliato durante l'installazione dell'SDK. Oppure non è possibile compilare Managed C++ VS2010 Solutions solo con l'SDK.
Credo che "altri errori" non abbia nulla a che fare con il mio problema. Il mio problema è: "Come faccio a configurare correttamente il mio ambiente di costruzione". /EDIT
Quello che ho fatto fino ad ora:
- Ho installato l'ultima Win7 SDK (http://blogs.msdn.com/b/windowssdk/archive/2010/05/25/released-windows-sdk-for-windows-7-and-net-framework-4.aspx)
- sto il targeting NET 3.5
- ho provato a giocare con la proprietà Platform Toolset - ma era solo in riproduzione
- Nella mia soluzione c'è un assembly C++ gestito (il mio problema)
- Sto usando MSBuild 4.0 perché i nuovi file di progetto VS2010 non possono essere compilati con MSBuild 3.5
- Sto utilizzando CC.NET. la compilazione non riesce in CC.NET e sulla riga di comando. Quindi non dovrebbe essere un problema CC.NET.
Esistono trucchi e consigli su come configurare il mio progetto per compilare correttamente sulla mia macchina dev con VS2010 e sul mio server di build? C'è altro da installare (eccetto VS2010)?
Grazie, Arthur
Domanda: Sei collegato a CC.Net o hai la possibilità di passare a qualcos'altro? – Caladain
Non credo che il passaggio a un'altra tecnologia di integrazione continua cambierà nulla. Come dice Arthur, la compilazione fallisce con l'uso di MSBuild. Questo sembra essere un problema con .Net 4.0 più fortemente legato a SDK 7.0A di quanto dovrebbe essere. –
Sì, è vero. la compilazione fallisce sulla riga di comando con MSBuild. CC.NET non è ancora coinvolto. – Arthur