c# - 调试 Nuget 包不起作用
问题描述
我正在尝试创建一个调试器 nuget 包。所以,我从“创建符号包”开始。使用创建包
nuget pack PackageARM.nuspec -Symbols
包ARM.nuspec:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>PackageARM</id>
<version>1.0.15</version>
<authors>PackageARM</authors>
<owners>PackageARM</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Package Description</description>
<dependencies>
<group targetFramework=".NETStandard2.0" />
</dependencies>
</metadata>
<files>
<file src="bin\Release\netstandard2.0\*.pdb" target="lib\netstandard2.0" />
<file src="bin\Release\netstandard2.0\*.dll" target="lib\netstandard2.0" />
<file src="**\*.cs" target="src" />
</files>
</package>
并将其推送到 nuget:https ://www.nuget.org/packages/PackageARM/1.0.15
然后取消选中Enable Just My Code
并签Enable source server support
入 VS 2017。我还尝试添加符号服务器:https://www.nuget.org, https://nuget.smbsrc.net/但没有结果。
当我尝试使用 F11 从包中进入方法时,它只是进入下一行。我错过了什么?
我的 pdb 文件包含 .cs 文件的路径,即 'C:\project\ProjectARM\Class1.cs' 可以吗?如果没有源路径,其他用户如何调试?
解决方案
如果没有源路径,其他用户如何调试?
由于您无法从符号服务器访问符号包,因此我们无法以这种方式进行调试。我想为您提供调试 nuget 包的解决方法。
- 将 pdb 和源代码文件放在 dll 旁边的 NuGet 包中。
- 将源代码添加到引用包的解决方案的调试源文件中。
有关第 1 步的更多详细信息:
我在 nuget.org 上检查了你的 nuget 包,发现你已经将.pdb
NuGet 包中的源代码文件放在了.dll
.
关于第 2 步的更多详细信息:
打开解决方案后,右键单击解决方案,选择 Properties...Common Properties...Debug Source Files,并添加相关二进制引用的根源目录.cs
(安装后在 Packages 文件夹中添加文件路径nuget包):
有关更多详细信息,请查看此线程。
推荐阅读
- java - 缩小 WebView 初始比例
- azure - Terraform 参数必须是地图或对象,得到“字符串”
- ionic-framework - 错误 CDVLaunchScreen.storyboard IONIC V1 ON MAC
- python - Python - 有一个函数输出多个数据帧
- java - 在第一次尝试中没有在preparedStatement 中更新ColumnNames
- reactjs - TypeScript/React:“解析错误:意外的令牌”
- android - 如何从 Firebase android kotlin 获取一些子列表?
- perl - 变量不受保护
- javascript - 让“点击”事件侦听器执行的问题
- zerobrane - Zerobrane:无法在 Xubuntu 20.04 上的项目树中右键单击项目