c# - PackageIcon 和 PackageIconUrl 在 dotnet build 中都不起作用
问题描述
我正在使用 Visual Studio 2017。我有一个项目,我想为它生成一个带有图标的 nuget。如果我使用
...
<PackageIconUrl>http://blabla/icon.png</PackageIconUrl>
我收到以下错误:
error NU5048: The 'PackageIconUrl'/'iconUrl' element is deprecated. Consider using the
'PackageIcon'/'icon' element instead. Learn more at https://aka.ms/deprecateIconUrl
[D:\myproject.csproj]
好的,所以我将我的项目更改为:
...
<PackageIcon>core.png</PackageIcon>
...
<Content Include="..\Shared\core.png" Link="core.png" Pack="true" PackagePath="\" >
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
当我现在构建我的项目(dotnet build Myproject.csproj)时,我没有收到任何编译错误。但是,当我想在“Nuget Package explorer”中查看生成的 nupkg 时。我得到错误:
The element 'metadata' in namespace 'http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd'
has invalid child elment 'icon' in namespace 'http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd'.
List of possible elements expected : 'contentFiles, desription, licenseUrl, projectUrl, language,
releaseNotes, frameworkAssemblies, summary, iconUrl, packageTypes, dependencies, copyright,
developmentDependency, repositoru, tags, references, title, serviceable' in namespace
'http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd'.
(所以生成的嵌入式 nuspec 似乎有一个错误的 xml 命名空间——我不知道如何让它生成新的命名空间)这是 Catch-22。因此,似乎唯一的选择是将图标排除在外。
(我也有visual studio 2019,最近安装了.net core 3.0.100 SDK)
解决方案
从<iconUrl>
/<PackageIconUrl>
到<icon>
/的移动<PackageIcon>
是相当新的。虽然 nuget.org 支持解析使用<icon>
而不是<iconUrl>
的包,但其他一些包服务器还不支持。
听起来你只是在用 NuGet 包资源管理器浏览一个目录,所以原因可能是这还不明白<icon>
。
虽然<iconUrl>
已弃用,但我发现它仍然可以在 nuget.org 上运行,因此您应该能够继续使用它,直到其他工具赶上。或者,如果您实际上并不关心浏览存储在本地目录中的包而只关心 nuget.org,那么您可以开始使用<icon>
.
你甚至可以同时使用两者——我还没有检查过。
推荐阅读
- excel - Excel宏VBA在先前添加的行下方添加行,并复制格式和公式
- react-pdf - react-pdf 不会呈现基本的 pdf
- ruby-on-rails - 如何在 rspec 中测试 HTTPS 请求?
- php - 如何使用 Square API 从 Order 对象中获取一个工作日内的商品销售数据并将其插入 MySQL 数据库
- c# - 多线程 C# serialPort1_DataReceived 事件不会触发
- c++ - 如何撤消相机变换和透视?
- c - 为什么必须在堆上 malloc 大型数据结构?
- python - 如何将 SVG 与 pygame 一起使用(或者以更高的分辨率显示 PNG)?
- c++ - 使字符串的不同字符相等的最小步数
- python - 为神经网络单独设置起始权重