8

Najpierw pozwól mi dodać jakiś kontekst do błędu, który mam, zainstalowałem .NET 4.5.1 Preview i pierwszą rzeczą, którą zauważyłem w VS 2012 jest to, że .NET 4.5.1 nie jest wymienione w dostępnych frameworkach. Nie jestem pewien, czy to jest poprawne zachowanie, ponieważ jest to tylko uaktualnienie do wersji 4.5, więc myślę, że VS 2012 powinien go wypisać..NET 4.5.1 Wsparcie podglądu w Visual Studio 2012

Co więcej, gdy zainstalowałem podgląd VS 2013, zaktualizowałem mój projekt do .NET 4.5.1 i otworzyłem rozwiązanie w VS 2012. Nowa wersja .NET pojawiła się ponownie, więc nie jestem pewien, czy jest to błąd w VS 2012 lub nie ? Ok, więc teraz mam .NET 4.5.1 w VS 2012 i gdy próbuję zbudować projekt I pojawia się następujący błąd

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 zgłoszone linia

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

Wydaje mi się, że z jakiegoś powodu VS 2012 nie może rozwiązać ścieżek lub złożeń, więc nie jestem pewien, czy powinienem naprawić coś w NuGet.targets czy jest to rzecz Visual Studio, jakieś pomysły?

Dzięki

+0

Po na małą kawę zauważyłem, że muszę uaktualnić _NuGet.targets_. – khorvat

+0

możliwy duplikat [Build na TFS 2013 nie powiodło się, ale w porządku lokalnie] (http://stackoverflow.com/questions/20661943/build-on-tfs-2013-failed-but-okay-locally) – Korayem

Odpowiedz

11

budynku .NET Framework 4.5.1 aplikacji jest obsługiwana w Visual Studio 2012. Trzeba albo zainstalować Visual Studio 2013 Preview lub Windows SDK for Windows 8.1 Preview uzyskać .NET Framework 4.5 .1 Wyświetl pakiet kierowania na tym samym komputerze co program Visual Studio 2012, aby tworzyć aplikacje z podglądem platformy .NET Framework 4.5.1.

Dzięki
Nithya [MSFT]

+0

Czy narzędzie Microsoft Build Tools 2013 (http://www.microsoft.com/en-au/download/details.aspx?id=40760) wykonuje tę samą pracę? –

7

Aby rozwiązać ten problem musiałem uaktualnić NuGet.targets i zmienić następujące dwa wiersze

Od

<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"> 

Aby

<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"> 

Również Byłoby miło uzyskać kilka odpowiedzi związanych z .NE T 4.5.1 Podgląd nie pojawia się w VS 2012, dopóki nie zainstalowałem VS 2013.

Fajna rozmowa ze mną.

17

Rozwiązałem zmianę pliku ToolsVersion w pliku .csproj.

Od

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

Do

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

Więc musiałeś zmienić _ToolsVersion_ wróć do ** 4.0 **, aby uzyskać ** .NET 4.5.1 ** wewnątrz ** VS 2012 **? – khorvat