我有一个供应商提供的基于 .NET Framework 的 DLL。我无权访问代码,我只有 DLL。我已经将这个 DLL 打包成一个 nuget 包,现在我试图将它引用到一个 .NET 标准项目中。但我收到警告 - Package 'MyPackage 0.0.1' 是使用 '.NETFramework,Version=v4.6.1' 而不是项目目标框架 '.NETStandard,Version=v2.0' 恢复的。此软件包可能与您的项目不完全兼容。。
如果我将 DLL 直接引用到 .NET 标准项目中,则不会显示此警告。但是在创建 nuget 包后使用它表明了这一点。
我也尝试创建一个 .NET 标准库项目,添加 DLL 引用,然后创建一个 nuget 包,但它仍然显示相同的警告。
还有其他方法吗?供应商不提供针对其他框架的 DLL,由于要求,我必须将其打包到 Nuget 后使用。
答案 0 :(得分:0)
在我这边,我按照您的描述测试了情况。创建一个名为 test
的网络标准库项目,然后使用此节点将其包含到包中。
1) 创建一个名为 test
的网络标准 lib nuget 项目并且只在 test.csproj
文件下添加这个节点:
<ItemGroup>
<None Include="xxx\xxx\xxx.dll"(the whole path of the net framework dll) Pack="true" PackagePath="lib\$(TargetFramework)"></None>
</ItemGroup>
2) 右键点击net标准测试项目-->点击Pack按钮,即可获得新版nuget包。
在将nuget包安装到另一个主项目之前,您应该first clean nuget caches或删除C:\Users\xxx(current user)\.nuget\packages
下的所有文件。
并且通过上述所有步骤,我没有遇到我身边的问题。