调试Nuget包不起作用

Rob*_*ean 5 c# debugging visual-studio nuget

我正在尝试创建一个调试器nuget包.所以,我从"创建符号包"开始.使用创建包 nuget pack PackageARM.nuspec -Symbols

PackageARM.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>
Run Code Online (Sandbox Code Playgroud)

并将其推向nuget:https://www.nuget.org/packages/PackageARM/1.0.15

然后取消选中Enable Just My Code并检查Enable source server supportVS 2017.此外,我尝试添加符号服务器:https://www.nuget.org,https: //nuget.smbsrc.net/但没有结果.

当我尝试从包使用F11进入方法时,它只是步骤到下一行.我错过了什么?

我的pdb文件包含.cs文件的路径,即'C:\ project\ProjectARM\Class1.cs'可以吗?如果没有源路径,其他用户如何调试?

Leo*_*SFT 0

如果没有源路径,其他用户如何调试?

由于您无法从符号服务器访问符号包,因此我们无法以这种方式进行调试。我想为您提供一种调试 nuget 包的解决方法。

  1. 将 pdb 和源代码文件与 dll 一起放入 NuGet 包中。
  2. 将源代码添加到引用该包的解决方案的调试源文件中。

有关步骤 1 的更多详细信息:

我在 nuget.org 上检查了您的 nuget 包,发现您已经将.pdb和 源代码文件与.dll.

有关步骤 2 的更多详细信息:

打开解决方案后,右键单击“解决方案”,选择“属性”...“通用属性”...“调试源文件”,然后添加相关二进制引用的根源目录.cs(在安装后的 Packages 文件夹中添加文件路径) nuget包):

在此输入图像描述

有关更多详细信息,请查看此线程