【问题标题】:Debugging NuGet Packages - Symbols with Sources not showing调试 NuGet 包 - 未显示源的符号
【发布时间】:2013-06-15 08:59:03
【问题描述】:

我正在尝试为我的库构建 nuget 包和符号。我正在使用 TeamCity 构建软件包,然后将它们推送到我的 internal SymbolSource repo

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

我的项目结构:

MyProject /
  Bin/
    release/
      MyProject.dll
  VariousFolders/
    CSFiles.cs
  VariousCSFiles.cs
  MyProject.csproj
  MyProject.nuspec

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

<?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

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

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 神奇地拉入调试符号。

所以,我完全不知道下一步该去哪里检查。

【问题讨论】:

    标签: c# visual-studio-2012 nuget debug-symbols symbol-server


    【解决方案1】:

    不确定这是否可行。但是您是否尝试过重置 VS2012 设置?您可以通过工具 -> 导入和导出设置并在对话框中选择重置所有设置选项来执行此操作。您可以根据需要保存当前设置。

    【讨论】:

    • 我已经重置了设置,但它没有做任何事情。我几乎已经放弃了解决方案。 Nuget、C# 和 VS 现在对我不利。基本上,我们将每个库、网站、API 网站和我们所有的控制台应用程序都放在一个 git 存储库中。这是目前最好的解决方案。长话短说,永远不要创建自己的 nuget 包。
    猜你喜欢
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 2015-11-05
    • 2017-09-09
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 2014-02-22
    相关资源
    最近更新 更多