Wil*_*che 3 .net c# msbuild visual-studio nuget
我正在使用 Visual Studio 2017。我有一个项目,我想为其生成带有图标的 nuget。如果我使用
...
<PackageIconUrl>http://blabla/icon.png</PackageIconUrl>
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
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]
Run Code Online (Sandbox Code Playgroud)
好吧,所以我将我的项目更改为:
...
<PackageIcon>core.png</PackageIcon>
...
<Content Include="..\Shared\core.png" Link="core.png" Pack="true" PackagePath="\" >
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
Run Code Online (Sandbox Code Playgroud)
当我现在构建项目时(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'.
Run Code Online (Sandbox Code Playgroud)
(所以看起来生成的嵌入式 nuspec 有一个错误的 xml 命名空间 - 我不知道如何让它生成新的命名空间)这是一个 Catch-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 上运行,因此您应该能够继续使用它,直到其余工具赶上。或者,如果您实际上并不关心浏览存储在本地目录中的包而只关心 nuget.org,那么您可以开始使用<icon>.
你甚至可以同时使用两者 - 我还没有检查过。
| 归档时间: |
|
| 查看次数: |
3494 次 |
| 最近记录: |