繁体   English   中英

如何从复制恢复或安装 Nuget 包然后粘贴到 *.csproj 文件?

[英]How to restore or install Nuget packages from copy then paste to *.csproj file?

我正在使用 Microsoft Visual Studio Community 2019 Preview - Version 16.8.0 Preview 2.0、.NET Core 5.0.100-preview.8.20417.9 、ASP.NET Core 5.0-preview Web API。 原始文件*.csproj

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>

</Project>

然后我添加(手动从另一个项目复制一部分)

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="AWSSDK.Polly" Version="3.5.0.5" />
    <PackageReference Include="ChilkatNativeLib" Version="9.5.0.83" />
    <PackageReference Include="HtmlAgilityPack" Version="1.11.24" />
    <PackageReference Include="HtmlAgilityPack.NetCore" Version="1.5.0.1" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.0-preview.8.20414.8" />
    <PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.0-preview.8.20414.8" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="5.0.0-preview.8.20414.8" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.0-preview.8.20407.4" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.0-preview.8.20407.4" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="5.0.0-preview.8.20407.4">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.Extensions.Identity.Core" Version="5.0.0-preview.8.20414.8" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="5.0.0-preview.8.20419.1" />
    <PackageReference Include="MimeKit" Version="2.9.1" />
    <PackageReference Include="NAudio" Version="1.10.0" />
    <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
    <PackageReference Include="NUnit" Version="3.12.0" />
    <PackageReference Include="RestSharp" Version="106.11.5-alpha.0.18" />
    <PackageReference Include="SendGrid" Version="9.21.0" />
    <PackageReference Include="Serilog" Version="2.10.0-dev-01240" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="5.5.1" />
    <PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="5.5.1" />
    <PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="5.5.1" />
    <PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="5.5.1" />
    <PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="5.5.1" />

    <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.9" />

    <PackageReference Include="System.ServiceModel.Syndication" Version="5.0.0-preview.8.20407.11" />
    <PackageReference Include="System.Text.Encoding.CodePages" Version="5.0.0-preview.8.20407.11" />

  </ItemGroup>
</Project>

然后我跑

dotnet restore

但不是成功。

如何从复制恢复或安装 Nuget 包然后粘贴到*.csproj文件?

如何从复制恢复或安装 Nuget 包然后粘贴到 *.csproj 文件?

我认为这是带有 Net Core 5.0 的 Visual Studio Preview 16.8 的问题。

首先update-package -reinstall命令不能用于 Net Core 项目,它用于具有packages.config nuget 管理格式的 Net Framework 项目。

对于Net Core项目,您只需单击 build 即可恢复 nuget 包。

实际上,当您在Net Core 5.0项目上安装 nuget 包时,它会在全局 nuget 文件夹中成功还原包。

您可以先删除C:\\Users\\xxx(current user)\\.nuget\\packages下的所有 nuget C:\\Users\\xxx(current user)\\.nuget\\packages ,然后重建您的项目。

软件包将全部恢复到该文件夹​​下。

================================================== ==================

但是,主要问题是:

对于Net Core 5.0 ,nuget 包没有名称和引用路径,尽管它可以在没有任何警告和错误的情况下进行恢复和构建。

在此处输入图片说明

而在Net Core 3.1,它具有名称和完整的引用路径,以便 VS 可以找到它。

在此处输入图片说明

这就是黄色三角形出现的原因。 并且不确定这种行为是否会影响您的发展。

并且名称路径是系统给定的,我们无法更改。

您可以尝试将您的项目从Net Core 5.0更改为Net Core 3.1 ,我相信大多数黄色三角形都会消失。

由于这是一个问题我已将其报告给我们的 DC 论坛

如果我没有详细描述问题,您可以投票或添加任何评论。 我希望团队能尽快检查问题并解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM