![](/img/trans.png)
[英]Package 'Faker.Net 1.0.3' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'
[英]was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '
我正在尝试引用一个 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>
不确定这里是否有任何其他配置块重要,但如果您需要更多信息,请告诉我。 有任何想法吗?
我遇到了一个类似的问题,我通过 Azure Artifacts 发布我自己的 NetStandard2.0 包,然后尝试在 netcore 应用程序中使用它。
结果发现问题在于我将我的包命名为与现有 NuGet 包相同的名称。 我的 Azure Artifacts nuget 提要在 Visual Studio 中正确配置,但是当它尝试安装包时,它首先尝试默认的 NuGet 提要,然后选择另一个(恰好是 NetFramework 提要)而不是我的。
一旦我将我的包重命名为唯一的(我刚刚添加了我自己的命名空间)并重新发布,它一切正常。
我想这可能不是每个人的问题,但对我来说是。
您必须使用项目中与 .NETCoreApp,Version=v2.0 兼容的每个包。
在错误消息中的“was”之前应该有一些包名。 例如:
Package 'Microsoft.AspNet.WebApi.Client 5.2.2' was restored
Package 'EntityFramework 6.2.0' was restored
我也遇到了这个问题。 在我的例子中,当 DLL 被打包并放置在lib/
文件夹中时,出现了导入警告。 通过将打包lib/netstandard2.0
DLL放在lib/netstandard2.0
文件夹中解决了。
我有同样的问题。 要解决这个问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.