在新的 VisualStudio 支持使用 NuGet 符号服务器,可以支持新的 Portable PDB 调试符号的库,本文告诉大家如何打包上传带符号的库和使用符号服务器

在 2018 的 11 月微软支持上传带符号的包到 NuGet.org 符号服务器,在使用 Visual Studio 2017 15.9 和以上版本可以支持打包 .NET Core 的 Portable PDB 符号的库,或者使用 nuget.exe 4.9.0 或 dotnet 命令行打包

创建的带符号的库的后缀是 .snupkg 下面是一些打包方法

使用 dotnet 命令行方法,以打包 Foo 项目为例

dotnet pack Foo.csproj --include-symbols -p:SymbolPackageFormat=snupkg

使用 nuget 命令行的方法,请看下面代码,请将 Foo.nuspec 替换为你自己需要的打包文件

 nuget pack Foo.nuspec -Symbols -SymbolPackageFormat snupkg

使用 msbuild 命令行的方法,请替换为自己项目

msbuild /t:pack Foo.csproj /p:IncludeSymbols=true /p:SymbolPackageFormat=snupkg

此时打包出来的是 .snupkg 文件,可以用来上传到符号服务器

上传的方法是打开nuget.org点击上传,传入文件

在 VisualStudio 使用 NuGet 符号服务器的方法是添加符号服务器 https://symbols.nuget.org/download/symbols 到工具-选项-调试-符号

注意,当前的符号服务器支持的 .snupkg 文件需要使用最新的portable pdb 格式,关于 portable pdb 请看介绍Portable PDB

在 VisualStudio 2019 16.1 Preview 2 默认添加了符号服务器,可以点击勾选就可以使用

介绍Portable PDB

portable pdb

Improved package debugging experience with the NuGet.org symbol server

我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新

如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

NuGet 符号服务器的更多相关文章

  1. 简单搭建 nuget 内部服务器

    搭建 nuget 内部服务器,最好的方式是使用 ProGet,参考博文<用 ProGet 搭建内部的 NuGet 服务器>,好处非常多,但需要使用 SQL Server 数据库,如果不想使 ...

  2. NuGet 本地服务器 公司组件库搭建 上传下载操作 模块化灵活设计

    新年第一更,关于如何搭建NuGet的本地服务器,以及部署IIS,以此搭建公司自己的组件仓库,方便所有的组件更新,管理,测试等等操作. 关于如何在NuGet中下载指定的组件,参考这篇文章:http:// ...

  3. pdb 源码索引符号服务器创建过程

    pdb是调试程序必不可少的东西,它保存着一个exe或dll的调试信息,对pdb进行源码索引可以快速找到软件对应该版本的代码,本文以subversion版本控制服务器进行介绍 一.需要安装的软件 win ...

  4. Visual studio 正在从以下位置加载符号:Microsoft符号服务器 尝试取消禁用后续符号加载

    正在从以下位置加载符号:Microsoft符号服务器   尝试取消禁用后续符号加载 进入VS---工具---选项----调试----符号,看右边有个“Microsoft符号服务器”,将前面的勾去掉,( ...

  5. Visual Studio之Nuget(服务器)

    一.创建空Web项目 二.安装Nuget.Server 这个时候,安装完成后,发现项目文件里多了Default.aspx等文件,因为我选择的MVC,所以最好做下小小的调整 ——在Global.asax ...

  6. [Other] Nuget 构建服务器与常用命令

    公司出于某些原因需要自己在内部网络搭建一个私有的 Nuget 服务器,而且要运行在 Linux服务器上面.如果说 Windows 下搭建的话很简单,直接在项目当中引入 Nuget 的库就 OK,这儿的 ...

  7. NuGet 构建服务器与常用命令

    公司出于某些原因需要自己在内部网络搭建一个私有的 Nuget 服务器,而且要运行在 Linux服务器上面.如果说 Windows 下搭建的话很简单,直接在项目当中引入 Nuget 的库就 OK,这儿的 ...

  8. .Net Core 商城微服务项目系列(六):搭建自己的Nuget包服务器

    当我们使用微服务架构之后,紧接而来的问题便是服务之间的程序集引用问题,可能没接触过的同学不太理解这句话,都已经微服务化了为什么还要互相引用程序集,当然可以不引用.但是我们会有这样一种情况,我们的每个接 ...

  9. 使用Docker 快速搭建nuget本地服务器,Hosting private nuget server using docker in seconds!

    Server #below line automatically creates the folder, mount the volumes and maps the ports. docker ru ...

随机推荐

  1. python中的输入和输出

    输入和输出   输出: 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'hello, world',用代码实现如下: >>> print('hello, ...

  2. 寒哥带你深入了解下Swift中的Value Type

    http://www.cocoachina.com/swift/20150923/13539.html 关于开发到底使用ValueType 值类型还是Reference Type 引用类型,关于这个, ...

  3. codevs1506 传话

    题目描述 Description 一个朋友网络,如果a认识b,那么如果a第一次收到某个消息,那么会把这个消息传给b,以及所有a认识的人. 如果a认识b,b不一定认识a. 所有人从1到n编号,给出所有“ ...

  4. 【JZOJ4832】【NOIP2016提高A组集训第3场10.31】高维宇宙

    题目描述 数据范围 解法 由于大于4的素数只有可能由奇数和偶数的和得出. 所以根据数的奇偶性可以分出两类数奇数和偶数. 奇数之间不会相互匹配,偶数之间也不会相互匹配. 那么原问题转化为二分图最大匹配. ...

  5. @bzoj - 4298@ [ONTAK2015]Bajtocja

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定d张无向图,每张图都有n个点.一开始,在任何一张图中都没有任 ...

  6. HUD-1708_FatMouse and Cheese

    FatMouse and Cheese Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...

  7. MySQL性能分析, mysql explain执行计划详解

    MySQL性能分析 MySQL性能分析及explain用法的知识是本文我们主要要介绍的内容,接下来就让我们通过一些实际的例子来介绍这一过程,希望能够对您有所帮助. 1.使用explain语句去查看分析 ...

  8. Mysql 数据库优化(一)

    一 避免网页访问错误 1  数据库连接timeout产生页面5xx错误 2 慢查询造成页面无法加载 3 阻塞造成数据无法提交 二 增加数据库的稳定性 三 优化用户体验 1 流畅的页面访问速度 2 良好 ...

  9. Android 申请权限示例

    1.在Mainifest.xml中添加 <?xml version="1.0" encoding="utf-8"?> <manifest xm ...

  10. iptables 伪装(Masquerading)

    「偽装」是一种特殊的SNAT操作:将来自其它电脑的包的来源位址改成自己的位址:请注意,由於入替的来源位址是自动決定的(执行SNAT的主机的IP位址).所以,如果它改变了,仍在持续中的旧连線将会失效.「 ...