c# – 调试NuGet包 – 没有显示源的符号

前端之家收集整理的这篇文章主要介绍了c# – 调试NuGet包 – 没有显示源的符号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试为我的库构建nuget包和符号.我正在使用TeamCity构建软件包,然后将它们推送到我的 internal SymbolSource repo.

一切似乎都在构建/打包/推送很好,但是当我去调试我的nuget包(使用VS2012)时,源代码不正确,更好的是,我找不到它在任何地方显示方法名称图书馆.

我的项目结构:

MyProject /
  Bin/
    release/
      MyProject.dll
  VarIoUsFolders/
    CSFiles.cs
  VarIoUsCSFiles.cs
  MyProject.csproj
  MyProject.nuspec

在我的.nuspec文件中(注意,在TeamCity端处理v4.0和v4.5目录):

<?xml version="1.0"?>
<package >
  <Metadata>
    <id>MyProject</id>
    <version>0.0</version>
    <title>MyProject</title>
    <authors>Me</authors>
    <owners>Possibly You</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Sweet Description</description>
    <releaseNotes></releaseNotes>
    <copyright>Copyright 2013</copyright>
  </Metadata>
  <files>
    <file src="MyProject\**\*.cs" target="src" />
    <file src="MyProject\bin\release\v4.0\*.dll" target="lib\net40" />
    <file src="MyProject\bin\release\v4.0\*.pdb" target="lib\net40" />
    <file src="MyProject\bin\release\v4.5\*.dll" target="lib\net45" />
    <file src="MyProject\bin\release\v4.5\*.pdb" target="lib\net45" />
  </files>
</package>

检查teamcity产生了MyProject.0.0.nupkg

lib/
  net40/
    MyProject.dll
  net45/
    MyProject.dll

检查TeamCity生成了MyProject.0.0.symbols.nupkg

lib/
  net40/
    MyProject.dll
    MyProject.pdb
  net45/
    MyProject.dll
    MyProject.pdb
src/
  VarIoUsFolders/
    CSFiles.cs
  VarIoUsCSFiles.cs

所以我假设的问题是,当我将包推送到我的内部符号repo时,我去查看文件结构,如下所示:

Data/
  MyProject/
    0.0/
      Bianaries/
        MyProject/
          some_hash/
            MyProject.dll
            MyProject.pdb
            MyProject.txt
      Sources/
        [Empty]
      MyProject.0.0.nupkg

Sources文件夹是空的,100%为空,我似乎无法将任何.cs文件放到’Sources’文件夹中,但是再一次,我不知道nuget push到我的repo之间到底发生了什么.实际转储到数据文件夹和VS2012神奇地拉入调试符号.

所以,我完全不知道接下来要去哪里检查.

解决方法

你有没有找到解决方案?不确定这是否有效.但您尝试过重置VS2012设置吗?你可以通过TOOLS做到这一点 – >导入和导出设置,然后在对话框中选择重置所有设置选项.您可以根据需要保存当前设置.

猜你在找的C#相关文章