8

Prima di aggiungere un contesto all'errore, ho installato .NET 4.5.1 Anteprima e la prima cosa che ho notato in VS 2012 è che .NET 4.5.1 non è elencato nei framework disponibili. Non sono sicuro se questo è un comportamento corretto perché questo è solo un aggiornamento a 4.5, quindi suppongo che VS 2012 dovrebbe elencarlo..NET 4.5.1 Supporto di anteprima in Visual Studio 2012

Ulteriori informazioni sull'installazione di VS 2013 Preview, l'aggiornamento del progetto a .NET 4.5.1 e l'apertura della soluzione in VS 2012 nuova versione .NET sono riapparse quindi non sono sicuro se si tratta di un bug in VS 2012 o no? Ok così ora ho .NET 4.5.1 in VS 2012 e quando cerco di costruire un progetto ottengo il seguente errore

Error 3 The task factory "CodeTaskFactory" could not be loaded from the assembly "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Build.Tasks.v4.0.dll". Could not load file or assembly 'file:///C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Build.Tasks.v4.0.dll' or one of its dependencies. The system cannot find the file specified. D:\Projects\MyProject\Master\Source\.nuget\nuget.targets 71 9 MyProject.Core.Modules 

NuGet.targets linea segnalati

<SetEnvironmentVariable EnvKey="VisualStudioVersion" 
EnvValue="$(VisualStudioVersion)" Condition=" '$(VisualStudioVersion)' 
!= '' AND '$(OS)' == 'Windows_NT' " /> 

mi sembra che per qualche motivo VS 2012 non è in grado di risolvere i percorsi o gli assiemi quindi non sono sicuro se dovrei risolvere qualcosa in NuGet.targets o è una cosa di Visual Studio, qualche idea?

Grazie

+0

Dopo il tazzina di caffè ho notato che ho dovuto aggiornare il _NuGet.targets_. – khorvat

+0

possibile duplicato di [Build su TFS 2013 fallito ma ok localmente] (http://stackoverflow.com/questions/20661943/build-on-tfs-2013-failed-but-okay-locally) – Korayem

risposta

11

costruzione .NET Framework 4.5.1 applicazioni è supportato in Visual Studio 2012. È necessario installare Visual Studio 2013 Preview o Windows SDK for Windows 8.1 Preview per ottenere il .NET Framework 4.5 .1 Anteprima del pacchetto di targeting sullo stesso computer di Visual Studio 2012 per creare applicazioni con l'anteprima di .NET Framework 4.5.1.

Grazie
Nithya [MSFT]

+0

Microsoft Build Tools 2013 (http://www.microsoft.com/en-au/download/details.aspx?id=40760) esegue lo stesso lavoro? –

7

Per risolvere questo problema ho dovuto aggiornare le NuGet.targets e modificare le seguenti due righe

Da

<UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll"> 
<UsingTask TaskName="SetEnvironmentVariable" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll"> 

Per

<UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v12.0.dll"> 
<UsingTask TaskName="SetEnvironmentVariable" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v12.0.dll"> 

Inoltre Sarebbe bello avere alcune risposte relative a .NE T 4.5.1 Anteprima non visualizzata in VS 2012 fino a quando non ho installato il VS 2013.

Bella chat con me stesso.

17

Ho risolto la modifica di ToolsVersion nel file .csproj.

Da

<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 

To

<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
+2

Quindi dovevi cambiare il _ToolsVersion_ torna a ** 4.0 ** per ottenere **. NET 4.5.1 ** all'interno di ** VS 2012 **? – khorvat