Los*_*ost 17 .net nuget .net-core .net-standard
我正在尝试引用一个 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以确保它实际上是一个 .netstandard 包。不知道是什么让它认为它在任何时候都是针对的。下面是我的 .csproj 配置的样子
<TargetFramework>netstandard2.0</TargetFramework>
不确定这里是否有任何其他配置块重要,但如果您需要更多信息,请告诉我。有任何想法吗?
小智 5
我遇到了类似的问题,我通过 Azure Artifacts 发布自己的 NetStandard2.0 包,然后尝试在 netcore 应用程序中使用它。
事实证明,问题在于我将我的包命名为与现有 NuGet 包相同的名称。我的 Azure Artifacts nuget feed 在 Visual Studio 中已正确配置,但当它尝试安装包时,它会首先尝试默认的 NuGet feed,然后选择另一个(恰好是 NetFramework)而不是我的。
一旦我将我的包重命名为唯一(我刚刚添加了我自己的命名空间)并重新发布,它就一切正常。
我想这可能不是每个人的问题,但对我来说是这样。
您必须在项目中使用与 .NETCoreApp,Version=v2.0 兼容的每个包。
错误消息中的“was”之前应该有一些包名称。例如:
Package 'Microsoft.AspNet.WebApi.Client 5.2.2' was restored
Package 'EntityFramework 6.2.0' was restored
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12161 次 |
| 最近记录: |