c# - 如何从复制还原或安装 Nuget 包然后粘贴到 *.csproj 文件?
问题描述
我正在使用 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
但不是成功。
如何从复制然后粘贴到*.csproj
文件中恢复或安装 Nuget 包?
解决方案
如何从复制还原或安装 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 文件夹中成功恢复包。
你可以先删除下所有的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 论坛。
如果我没有详细描述问题,您可以投票或添加任何评论。我希望团队能够检查问题并尽快解决问题。
推荐阅读
- codenameone - codenameone QR/条形码扫描仪是否可以在模拟器上工作?
- java - 将 Jersey 客户端转换为 HttpUrlConnection
- html - 将 Bootstrap 的 Modal 上的 X 按钮更改为左侧
- javascript - 在 reducer 函数中更改 targetArray.length 时的 targetArray.reduce 行为
- python - Django-Rest:需要从 oracle 批量获取所有数据
- java - 尝试在 Java 中考虑任务栏会导致窗口大小不准确
- r - match.arg(mvnTest) 中的错误:“arg”的长度必须为 1
- python - 无论我将 MPI Parallel 设置为 false 还是 true,我都会继续收到 MPI 错误
- swift - 字符串数组参数无法识别
- c# - 如何从 puppeteer-sharp 中获取可读的浏览器/页面错误?