2015-09-19 25 views
6

Tôi đang cố gắng tạo ứng dụng Android bằng Xamarin và Visual Studio 2015 với một người bạn khác có kiểm soát nguồn.Gói NuGet gây rắc rối trong studio trực quan 2015 và Xamarin

Mọi thứ đều ổn cho đến khi bạn tôi thêm dự án và sử dụng gói NuGet.

Sau khi tôi kích hoạt phiên bản mới nhất và có được cố gắng để xây dựng các giải pháp tôi đã được thông báo lỗi:

Severity Code Description Project File Line 
Error  This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props. iBuy.API C:\Users\איציק\Source\Workspaces\iBuy\IBuy\iBuy.API\iBuy.API.csproj 164 

Tôi nhìn lên một số giải pháp cho vấn đề này và đã cố gắng để gỡ bỏ cài đặt Microsoft.CodeDom.Providers.DotNetCompilerPlatform và Microsoft.Net.Compilers gói và cài đặt lại chúng nhưng nó không giúp đỡ. Tôi thậm chí không có thư mục \ packages \ Microsoft.Net.Compilers.1.0.0 \ build trong giải pháp của mình.

Mọi thứ trong khôi phục gói NuGet đã được chọn và tôi không có bất kỳ tệp '.uget' nào trong giải pháp của mình.

Tôi có thể làm gì để loại bỏ thông báo lỗi đó?

Cảm ơn bạn trước!

Trả lời

12

Thông báo lỗi đó sẽ xảy ra vì bạn không có tệp .nuget \ NuGet.targets.

Để khắc phục sự cố, bạn có thể ngừng sử dụng gói NuGet dựa trên MSBuild khôi phục hoặc thêm tệp .nuget/NuGet.targets vào kiểm soát nguồn.

Khôi phục gói NuGet dựa trên MSBuild không được nhóm NuGet phản đối. Nó thêm một số yếu tố bổ sung vào tệp dự án của bạn (.csproj):

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 
    <PropertyGroup> 
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 
    </PropertyGroup> 
    <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" /> 
</Target> 
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" /> 

Bạn có thể có nhiều mục trong phần tử đích EnsureNuGetPackageBuildImports. Bạn có thể loại bỏ chúng khỏi tệp dự án và thay vào đó dựa vào Visual Studio để khôi phục gói NuGet.

+0

hoạt động! cảm ơn bạn – nosensus

+0

Những cái ôm và những nụ hôn dành cho bạn. – bonitzenator

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