2010-04-28 17 views
95

Chiunque riesce a ottenere la compilazione di applicazioni .NET 4.0 su un server CI senza installare Visual Studio 2010 su un server CI?Problemi di build su .NET 4.0 sul server CI

Nessun SDK esiste per .NET 4.0. Ho installato .NET 4.0 su CI Server. MSBuild.exe lavora per progetti semplici e dare il seguente avviso:

(GetReferenceAssemblyPaths target) -> C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(847,9): warning MSB3644: The reference assemblies for framework ".NETFramework,Version=v4.0" were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend.

+1

Come posso rendere questo un errore fatale piuttosto che un avvertimento? È nascosto nel nostro registro di build e invece fallisce ulteriormente con un messaggio criptico su mscorlib.dll –

risposta

125

Non è necessario installare più VS, è possibile installare il "Microsoft Windows SDK per Windows 7 e .NET Framework 4" ora.

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b

+43

L'installazione predefinita è 1.7 GB, ma la maggior parte di questi file non è necessaria. Se deselezionate tutto tranne .NET Development> Intellisense e Reference Assembly che vi darà ancora il pacchetto di targeting .NET 4 di cui avete bisogno (è circa 450 MB). –

+1

Si potrebbe anche voler controllare .NET Development> Strumenti in quanto ciò porterà in diverse utility come sn.exe che sono utili per gestire gli assembly firmati. – Mykro

+0

Ho scaricato il programma di installazione e, quando l'ho eseguito, indica che avevo già installato .net 4, ma Intellisense e Reference Assembly erano deselezionati. Controllarlo e installare quei file sembrava risolvere il problema per me. La cosa strana è che ho lavorato a questa build di CI per mesi e ho appena iniziato a lanciare questo errore oggi. – Carl

10

altra alternativa: senza installare Net 4.0 SDK o vs 2010

Copiare la cartella assembly di riferimento dalla vostra macchina dev per costruire Server (190MB).

uso msbuild -p: opzione FrameworkPathOverride per puntare per fare riferimento a cartella assemblee

la posizione assembly di riferimento:

C: \ Program Files (x86) \ Riferimento Assemblies \ Microsoft \ Framework \ .NETFramework \ v4 0,0 o C: \ Program Files \ assembly di riferimento \ Microsoft \ Framework \ .NETFramework \ v4.0

pensano che questa da:

.NET 4.0 build server reference assemblies warnings MSB3644

Se si ottiene questo errore: "Microsoft.WebApplication.targets non è stato trovato" - basta copiare il bersaglio dalla macchina dev https://stackoverflow.com/a/5344246/423356

se MVC3 non è installato nel server di build; "aggiungere assiemi installabili" al progetto mvc http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

Se si è verificato un errore durante la creazione del progetto MSTest senza installare sdk o visual studio; Ci sono diversi post di blog su questo, per il male la soluzione è troppo complessa per me. Uso NUnit anziché MSTest

+0

Dal momento che il mio server 2012 non mi ha permesso di installare .Net 4 perché l'installatore ha detto che c'è una versione superiore . Ho fatto quello che @kite ha detto e copiato da un PC che avevo VS 2012 è stato installato. Questo ha risolto i miei problemi. – chdev77

23

SDK per .NET 4.5 disponibile here. L'installer funziona bene con proxy con autorizzazione di base. Sistemi operativi supportati: Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2

P.S. La mia risposta è più simile a un commento a Jeremy answer, ma non ho abbastanza reputazione per commentare le risposte.

+0

Questo ha funzionato per me. – DenNukem

+1

Dalla pagina di riferimento: "Windows SDK non viene più fornito con un ambiente di compilazione della riga di comando completo. Windows SDK richiede ora un compilatore e un ambiente di sviluppo da installare separatamente." Quindi presumo che questo non sia sufficiente per eseguire un server di build. – Chris

+0

Chris, credo che tu abbia ragione. – priehl

0

Questa pagina elenca gli SDK .NET per ogni versione di Visual Studio. http://blogs.msdn.com/b/dotnet/p/dotnet_sdks.aspx

Per un download più piccolo, scegliere "pacchetto sviluppatore" o "pacchetto di destinazione" anziché Windows SDK completo.

Problemi correlati