【问题标题】:Unable to include .pdb files in NuGet package无法在 NuGet 包中包含 .pdb 文件
【发布时间】:2018-05-18 02:20:06
【问题描述】:

我试图在我的 NuGet 包中包含 .pdb 文件以帮助调试,但我似乎无法让它工作。我已按照建议将以下行添加到我的 .csproj 文件中。它与 AssemblyName、OutputType、TargetFrameworkVersion 等在同一个 PropertyGroup 中。

<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>

我正在使用:

  • VS 2017 v15.5.6
  • NuGet v4.6.2
  • 目标框架:.NET Framework 4.5(不应该认为这很重要,但这样说也无妨)

并有以下构建后事件:

nuget pack $(ProjectPath) -Prop Configuration=$(ConfigurationName)
nuget add $(ProjectName).@(VersionNumber).nupkg -source %PACKAGES_FOLDER%

我使用 nuspec 文件将它们放入其中,但这会干扰我们的构建服务器。

感谢所有帮助。

干杯 克雷格

【问题讨论】:

    标签: nuget


    【解决方案1】:

    好的。我终于解决了我的 NuGet 问题。以下信息可能对其他人有所帮助。

    • 我将最新版本的 nuget.exe 放在了我的解决方案文件夹中。
    • 我没有任何 nuspec 文件。这让我们的构建服务器很开心。
    • 我从 .csproj 文件中删除了 AllowedOutputExtensionsInPackageBuildOutputFolder 设置。这似乎只适用于 .NET Core 和 .NET Standard 项目。我通过创建三个全新的 VS 2017 项目确认了这一点。 .NET Framework 项目是唯一不打包的项目(使用 dotnet pack 而不是 nuget pack 进行测试)。

    我现在在我的每个项目中都使用以下构建后事件:

    del "$(ProjectDir)$(OutDir)*.nupkg"
    $(SolutionDir)nuget pack $(ProjectPath) -symbols -Prop Configuration=$(ConfigurationName)
    $(SolutionDir)nuget add $(ProjectName).@(VersionNumber).symbols.nupkg -source C:\Packages
    

    第一行只是删除了之前生成的 .nupkg 文件,这些文件堆积在 build 文件夹中。

    【讨论】:

    • 不。这行不通。 pdb 和源文件与 dll 一起打包,一切看起来都不错,但调试器不允许我单步执行。但是,我可以使用 F12 和 Go To Declaration。我看到了可怕的 断点当前不会被命中。没有为此文档加载任何符号。 消息。
    • 从头开始。它确实有效。我只需要将我的包文件夹(即 C:\Packages)添加到工具 --> 选项 --> 调试 --> 符号 -- 符号文件 (.pdb) 位置
    猜你喜欢
    • 2019-06-05
    • 2015-05-08
    • 2017-06-02
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多