全新安装的Visual Studio NuGet包管理器无法导入Microsoft.AspNetCore.All包

时间:2018-05-03 14:59:06

标签: c# asp.net-core nuget

我正在尝试使用visual studio企业版(全新安装)创建一个asp.net core 2.0 web api项目,而NuGet Package Manager在项目的构建阶段失败。

以下是visual studio上的错误消息

enter image description here

dotnet恢复的结果

enter image description here

关于这个问题的任何想法?

.csproj文件

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <Folder Include="DataTransObj" />
    <Folder Include="Json" />
    <Folder Include="LogDepot" />
    <Folder Include="FileDepot\" />
    <Folder Include="wwwroot\" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.7" />
    <PackageReference Include="MongoDB.Driver.Core" Version="2.6.0" />
    <PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
    <PackageReference Include="Newtonsoft.Json.Schema" Version="3.0.10" />
    <PackageReference Include="Serilog" Version="2.7.1-dev-00950" />
    <PackageReference Include="Serilog.AspNetCore" Version="2.1.1" />
    <PackageReference Include="Serilog.Settings.Configuration" Version="2.6.1" />
    <PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
    <PackageReference Include="Serilog.Sinks.File" Version="4.0.1-dev-00790" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0" />
  </ItemGroup>
</Project>

obj / ... nuget.g.targets文件:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
  </PropertyGroup>
  <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
    <Import Project="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\netstandard.library\2.0.0\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('C:\Program Files\dotnet\sdk\NuGetFallbackFolder\netstandard.library\2.0.0\build\netstandard2.0\NETStandard.Library.targets')" />
    <Import Project="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.0.0\build\netcoreapp2.0\Microsoft.NETCore.App.targets" Condition="Exists('C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.0.0\build\netcoreapp2.0\Microsoft.NETCore.App.targets')" />
    <Import Project="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.configuration.usersecrets\2.0.1\build\netstandard2.0\Microsoft.Extensions.Configuration.UserSecrets.targets" Condition="Exists('C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.configuration.usersecrets\2.0.1\build\netstandard2.0\Microsoft.Extensions.Configuration.UserSecrets.targets')" />
    <Import Project="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.mvc.razor.viewcompilation\2.0.3\build\netstandard2.0\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets" Condition="Exists('C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.mvc.razor.viewcompilation\2.0.3\build\netstandard2.0\Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.targets')" />
    <Import Project="C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.all\2.0.7\build\netcoreapp2.0\Microsoft.AspNetCore.All.targets" Condition="Exists('C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.all\2.0.7\build\netcoreapp2.0\Microsoft.AspNetCore.All.targets')" />
  </ImportGroup>
</Project>

1 个答案:

答案 0 :(得分:0)

  

全新安装的Visual Studio NuGet包管理器无法导入Microsoft.AspNetCore.All包

默认的asp.net core 2.0 web api项目模板包含一些nuget包,它们将导入一些int文件。根据错误消息:

  

“导入的项目文件...... Microsoft.AspNetCore.All.targets,冷   没有加载。根元素缺失“

似乎导入的.targets文件在.target文件夹中已损坏。由于它是一个后备文件夹,要解决此问题,您可以删除该文件夹中的此包。然后,当您创建新项目时,您会发现Visual Studio将从全局包文件夹NuGetFallbackFolder加载该包。或者,您可以将此包从全局文件夹复制到C:\Users\<UserName>\.nuget\packages

希望这有帮助。