ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

NuGet 命令行上传找不到 snupkg 文件

2021-06-30 09:55:43  阅读:138  来源: 互联网

标签:snupkg 文件 nupkg 符号 NuGet 上传


在 NuGet 提供符号 NuGet 库的支持,在默认上传将会同时上传符号库。在 NuGet 上传文件将会默认将 snupkg 符号文件上传

让 NuGet 发布默认不上传符号文件的方法是添加参数 NoSymbols 请看代码

 nuget push .\bin\release\*.nupkg -Source https://api.nuget.org/v3/index.json -SkipDuplicate -NoSymbols 

在 nuget 发布可以给某个文件路径,将这个路径所有文件上传,在上传文件时,将会同步上传符号文件。如果符号文件不存在,建议输出提示

File does not exist (.\bin\release\*.snupkg)

通过在命令行添加参数不上传外,还可以在创建 NuGet 库创建符号文件,这样就不会提示找不到

在 sdk style 格式的项目文件,添加下面代码,添加之后打包就会创建 snupkg 文件

<PropertyGroup>
    <IncludeSymbols>true</IncludeSymbols>	
    <SymbolPackageFormat>snupkg</SymbolPackageFormat>	
</PropertyGroup>

这里的 PropertyGroup 元素可以添加到 Project 元素下

另一个方法是在命令行打包添加参数

dotnet pack -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg

如果使用 msbuild 打包,可以使用下面代码

msbuild /t:pack /p:IncludeSymbols=true /p:SymbolPackageFormat=snupkg

如果使用 nuget 打包,如对应的 xx.nuspec 可以使用下面代码

nuget pack MyPackage.nuspec -Symbols -SymbolPackageFormat snupkg

NuGet 符号服务器

How to publish NuGet symbol packages using the new symbol package format ‘.snupkg’

在 NuGet 包嵌入 符号文件 的方法是添加 AllowedOutputExtensionsInPackageBuildOutputFolder 属性

<Project Sdk="Microsoft.NET.Sdk">
 <PropertyGroup>
    <!-- Include symbol files (*.pdb) in the built .nupkg -->
    <AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
  </PropertyGroup>
</Project>

默认符号文件是放在 snupkg 文件,而不是放在 nupkg 文件,原因是将符号文件放在 nupkg 文件,会让 nupkg 文件太大。如果将符号文件放在 nupkg 文件,那么不需要开发者另外配置符号服务器,就可以拿到符号文件

详细请看 Roslyn 打包自定义的文件到 NuGet 包

知识共享许可协议

标签:snupkg,文件,nupkg,符号,NuGet,上传
来源: https://blog.51cto.com/u_11283245/2956228

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有