警告:无法再次导入 .NETStandard.2.0.0.0 库

Warning: .NETStandard.2.0.0.0 Library cannot be imported again

我收到了这条烦人的警告消息。

“{你的路径}\packages\NETStandard.Library.2.0.0\build\NETStandard.Library.targets”无法再次导入。它已经导入到“{your project path}”。这很可能是构建创作错误。此后续导入将被忽略。数据...(请参阅下面我自己的回答)

在研究了我的代码之后,我终于弄明白了为什么 VS 会显示警告。在警告旁边的错误列表中查找项目名称。卸载项目并编辑 .csproj 文件并查找以下参考资料。您会注意到有多行略有不同。删除这些,其他的保持不变。保存并重新加载,警告消失。

<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.0\build\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.0\build\NETStandard.Library.targets'))" />

<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.0\build\netstandard2.0\NETStandard.Library.targets'))" />

这是我在 Visual Studio 2017

收到的警告消息

Warning "C:[your_path]\.nuget\packages\netstandard.library.netframework.0.0-preview2-25405-01\build\NETStandard.Library.NETFramework.common.targets" cannot be imported again. It was already imported at "C:[your_path_2\.nuget\packages\netstandard.library.netframework.0.0-preview2-25405-01\build\net461\NETStandard.Library.NETFramework.targets (10,3)". This is most likely a build authoring error. This subsequent import will be ignored.

我引用的是 NETStandard 的预发布版本。使用 NuGet 管理器替换为最新的稳定版本已解决问题。

之前

<PackageReference Include="NETStandard.Library.NETFramework" Version="2.0.0-preview2-25405-01" />

之后

<PackageReference Include="NETStandard.Library" Version="2.0.1" />