gpt4 book ai didi

c# - PackageIcon 和 PackageIconUrl 都不能在 dotnet build 中工作

转载 作者:行者123 更新时间:2023-12-02 00:12:55 28 4
gpt4 key购买 nike

我正在使用 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 命名空间——我不知道如何让它生成新的命名空间)这是第 22 条军规。因此,似乎唯一的选择是将图标排除在外。

(我也有visual studio 2019,最近安装了.net core 3.0.100 SDK)

最佳答案

移动自 <iconUrl>/<PackageIconUrl><icon>/<PackageIcon>是相当新的。虽然 nuget.org 支持使用 <icon> 的解析包而不是 <iconUrl> ,其他一些包服务器还没有。

听起来您只是在使用 NuGet Package Explorer 浏览目录,所以原因可能是这还不理解 <icon> .

同时 <iconUrl>已弃用,我发现它在 nuget.org 上仍然有效,因此您应该能够继续使用它,直到其他工具 catch 进度。或者,如果您实际上不关心浏览存储在本地目录中的包而只关心 nuget.org,那么您可以开始使用 <icon> .

您甚至可以同时使用两者——我还没有检查过。

关于c# - PackageIcon 和 PackageIconUrl 都不能在 dotnet build 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58323493/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com