如何通过复制恢复或安装 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
但没有成功。
如何通过复制然后粘贴到 *.csproj
文件恢复或安装 Nuget 包?
How to restore or install Nuget packages from copy then paste to
*.csproj file?
我认为这是 Visual Studio Preview 16.8 with Net Core 5.0 的问题。
首先,update-package -reinstall
命令不能用于Net Core项目,它用于packages.config nuget管理格式的Net Framework项目。
对于 Net Core 项目,您只需单击构建即可恢复 nuget 包。
实际上,当您在 Net Core 5.0 项目上安装 nuget 包时,它会在全局 nuget 文件夹中成功恢复包。
您可以先删除C:\Users\xxx(current user)\.nuget\packages
下的所有nuget包,然后重建您的项目。
包将全部恢复到该文件夹下。
============================================= =======================
但是,主要问题是:
对于 Net Core 5.0
,nuget 包没有名称和参考路径,但可以在没有任何警告和错误的情况下恢复和构建。
而在 Net Core 3.1,
中它有名称和完整的参考路径以便 VS 可以找到它。
这就是黄色三角形出现的原因。也不确定这种行为是否会影响你的发育。
而名称和路径是系统给定的,无法更改。
您可以尝试将您的项目从Net Core 5.0
更改为Net Core 3.1
,我相信大多数黄色三角形都会消失。
既然是问题,I have reported it to our DC Forum.
如果我没有详细描述问题,您可以投票或添加任何评论。也希望团队检查问题,尽快解决问题。
我正在使用 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 包?
How to restore or install Nuget packages from copy then paste to *.csproj file?
我认为这是 Visual Studio Preview 16.8 with Net Core 5.0 的问题。
首先,update-package -reinstall
命令不能用于Net Core项目,它用于packages.config nuget管理格式的Net Framework项目。
对于 Net Core 项目,您只需单击构建即可恢复 nuget 包。
实际上,当您在 Net Core 5.0 项目上安装 nuget 包时,它会在全局 nuget 文件夹中成功恢复包。
您可以先删除C:\Users\xxx(current user)\.nuget\packages
下的所有nuget包,然后重建您的项目。
包将全部恢复到该文件夹下。
============================================= =======================
但是,主要问题是:
对于 Net Core 5.0
,nuget 包没有名称和参考路径,但可以在没有任何警告和错误的情况下恢复和构建。
而在 Net Core 3.1,
中它有名称和完整的参考路径以便 VS 可以找到它。
这就是黄色三角形出现的原因。也不确定这种行为是否会影响你的发育。
而名称和路径是系统给定的,无法更改。
您可以尝试将您的项目从Net Core 5.0
更改为Net Core 3.1
,我相信大多数黄色三角形都会消失。
既然是问题,I have reported it to our DC Forum.
如果我没有详细描述问题,您可以投票或添加任何评论。也希望团队检查问题,尽快解决问题。