Bil*_*lly 10 c# visual-studio nuget
我创建了一个面向 .net framework 4.6.1 的类库(几乎是一个空白画布,只有一个方法来返回一个字符串,仅用于测试目的)。我想把它做成一个 nuget 包。我正在关注这篇文章https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-visual-studio-net-framework,但是当我到达“ nuget pack”我收到以下警告:
"WARNING: NU5128: Some target frameworks declared in the dependencies group of the nuspec and the lib/ref folder do not have exact matches in the other location. Consult the list of actions below:
- Add a dependency group for .NETFramework4.6.1 to the nuspec"
Run Code Online (Sandbox Code Playgroud)
我尝试将依赖项组添加到 .nuspec 文件中:
<?xml version="1.0"?>
<package>
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>Author</authors>
<owners>$author$</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>H</description>
<copyright>Copyright 2019</copyright>
<tags>blah</tags>
<dependencies>
<group targetFramework=".NETFramework4.6.1" />
</dependencies>
</metadata>
</package>
Run Code Online (Sandbox Code Playgroud)
我也试过:
<?xml version="1.0"?>
<package>
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>Author</authors>
<owners>$author$</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>H</description>
<copyright>Copyright 2019</copyright>
<tags>blah</tags>
<dependencies>
<group targetFramework="net461" />
</dependencies>
</metadata>
</package>
Run Code Online (Sandbox Code Playgroud)
我仍然得到同样的错误。
我尝试使用旧版本的 nuget,其中未显示警告消息,但同样的问题仍然存在(如果我尝试通过包管理器添加,它说它没有依赖项)。
警告:NU5128:在 nuspec 和 lib/ref 文件夹的依赖项组中声明的某些目标框架在其他位置没有完全匹配。请参阅下面的操作列表。
这是 中的一个未解决的问题Github/Nuget,请参阅#8713。我可以在我的 VS2017 中使用 Nuget V5.3 重现相同的问题,如果我使用 Nuget V5.2 或更早版本,这个问题就会消失。对于这种情况,恐怕您必须使用早期版本,Nuget.exe直到团队发布修复程序。
如果我尝试通过包管理器添加,它说它没有依赖项
1.如果no package dependencies你的包项目依赖了一些nuget包却显示出来,请检查packageReference你当前项目中是否使用nuget来管理。目前,nuget pack命令不适用于具有 packageReference或新 SDK 格式项目的.net 框架项目。
您可以从Leo 的回答中查看详细信息以解决此问题。
2.如果no dependencies你的意思是当一个项目使用你的包时,它不会像这样显示你的项目针对哪个框架:
(我们可以看到您的包依赖于 Newtonsoft.Json,但我们无法找到它针对的框架(net461)。)
为此,我们需要nuget pack xx.nuspec在dependencies+group打包时使用类似的命令将其添加到包中。然后我们可以看到目标框架和依赖包,如下所示:
希望以上所有内容有所帮助,如果我有任何误解,请随时纠正我:)
| 归档时间: |
|
| 查看次数: |
7015 次 |
| 最近记录: |