8

Trước tiên hãy để tôi thêm một số bối cảnh vào lỗi mà tôi nhận được, tôi đã cài đặt .NET 4.5.1 Preview và điều đầu tiên mà tôi nhận thấy trong VS 2012 là .NET 4.5.1 không được liệt kê trong các khung công tác có sẵn. Tôi không chắc chắn nếu điều này là hành vi chính xác bởi vì đây chỉ là một nâng cấp lên 4,5 vì vậy tôi đoán VS 2012 nên liệt kê nó..NET 4.5.1 Xem trước Hỗ trợ trong Visual Studio 2012

Hơn nữa khi tôi cài đặt Bản xem trước VS 2013, hãy nâng cấp dự án của tôi lên .NET 4.5.1 và mở giải pháp trong phiên bản .NET 2012 mới đã xuất hiện trở lại để tôi không chắc đây có phải là lỗi trong VS 2012 hay không không phải ? Ok vì vậy bây giờ tôi có .NET 4.5.1 trong VS 2012 và khi tôi cố gắng xây dựng một dự án tôi nhận được lỗi sau

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 báo cáo dòng

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

Dường như với tôi rằng vì một số lý do VS 2012 không thể giải quyết các đường dẫn hoặc hội đồng vì vậy tôi không chắc chắn nếu tôi nên sửa chữa một cái gì đó trong NuGet.targets hoặc nó là một điều Visual Studio, bất kỳ ý tưởng?

Cảm ơn

+0

Sau khi uống một tách cà phê nhỏ Tôi nhận thấy rằng tôi phải nâng cấp _NuGet.targets_. – khorvat

+0

có thể trùng lặp của [Xây dựng trên TFS 2013 không thành công nhưng không sao cục bộ] (http://stackoverflow.com/questions/20661943/build-on-tfs-2013-failed-but-okay-locally) – Korayem

Trả lời

11

Xây dựng .NET Framework 4.5.1 ứng dụng được hỗ trợ trong Visual Studio 2012. Bạn cần phải hoặc cài đặt Visual Studio 2013 Preview hoặc Windows SDK for Windows 8.1 Preview để có được .NET Framework 4.5 .1 Xem trước gói nhắm mục tiêu trên cùng một máy như Visual Studio 2012 để xây dựng các ứng dụng với xem trước .NET Framework 4.5.1.

Cảm ơn
Nithya [MSFT]

+0

Microsoft Build Tools 2013 (http://www.microsoft.com/en-au/download/details.aspx?id=40760) có thực hiện công việc tương tự không? –

7

Để sửa lỗi này tôi đã phải nâng cấp NuGet.targets và thay đổi hai dòng sau

Từ

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

Để

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

Ngoài ra nó sẽ là tốt đẹp để có được một số câu trả lời liên quan đến .NE T 4.5.1 Xem trước không hiển thị trong VS 2012 cho đến khi tôi cài đặt VS 2013.

Trò chuyện với chính mình.

17

tôi đã giải quyết việc thay đổi tệp ToolsVersion trong tệp .csproj.

Từ

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

Để

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

Vì vậy, bạn phải thay đổi _ToolsVersion_ quay lại ** 4.0 ** để nhận được **. NET 4.5.1 ** bên trong ** VS 2012 **? – khorvat

Các vấn đề liên quan