我正在尝试参考一个nuget软件包,这显然是.NetStandard2.0
。我们拥有这个包的源代码,并将其写入目标.netstandard。我们确实有一个CI管道,所以当我们推送这个代码时,它会构建并释放nuget包。当我试图将生成的nuget包引用到当前的.netCore应用程序中时,我会得到以下错误:
was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.1'. This package may not be fully compatible with your project.
这对我来说没有任何意义。到目前为止,我已经尝试了以下调试步骤:
dotpeek
中生成的nuget包,以确保它实际上是一个.netstandard包。不知道是什么让它认为它在任何时候都是针对目标的。下面是我的.csproj配置的样子
<TargetFramework>netstandard2.0</TargetFramework>
不确定是否有任何其他配置块在这里重要,但让我知道,如果你需要更多的信息。有什么想法吗?
发布于 2020-03-19 22:32:17
我也遇到了这个问题。在我的示例中,当DLL被打包并放置在lib/
文件夹中时,会发生导入警告。它是通过将打包的DLL放在lib/netstandard2.0
文件夹中解决的。
发布于 2019-05-13 10:09:47
我遇到了一个类似的问题,我正在通过Azure工件发布自己的NetStandard2.0包,然后尝试在netcore应用程序中使用它。
事实证明,问题在于我将包命名为与现有NuGet包相同的包。我的Azure工件nuget提要是在Visual中正确配置的,但是当它尝试安装包时,它首先尝试默认的NuGet提要,然后选择另一个(碰巧只有NetFramework ),而不是我的。
一旦我将包重命名为唯一(我刚刚添加了自己的命名空间),并重新发布,所有这些都正常工作。
我想这可能不是每个人的问题,但这是我的问题。
发布于 2019-02-22 03:11:41
您必须使用与.NETCoreApp、Version=v2.0兼容的项目中的每个包。
错误消息中的"was“之前应该有一些包名。前任:
Package 'Microsoft.AspNet.WebApi.Client 5.2.2' was restored
Package 'EntityFramework 6.2.0' was restored
https://stackoverflow.com/questions/54817553
复制相似问题