首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将pdb文件包含到我的nuget (nupkg)文件中

将pdb文件包含到我的nuget (nupkg)文件中
EN

Stack Overflow用户
提问于 2017-01-18 07:35:31
回答 6查看 34.7K关注 0票数 70

我正在使用MSBuild来生成我的nuget包。

我是否需要设置任何命令,允许它包含我的.pdb文件,以便在调试时进入源代码?

我不希望源文件包括在项目中,是拉在nuget包。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-01-22 22:19:51

如果使用的是VS2017 15.4或更高版本,则可以在项目文件中定义MSBuild属性

代码语言:javascript
运行
复制
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>

这是在NuGet #4142中讨论的。

但是,由于新的项目系统没有将pdb从包复制到.NET核心3.0+的bin/publish文件夹,因此仍然存在一个问题,sourcelink/#628也有一个很好的总结。

目前计划在.NET 7 :-(

同时,解决方法是将以下片段包含到API和测试项目中,以确保您有适当的pdbs,从而允许您进入远程源代码。

代码语言:javascript
运行
复制
<!-- https://github.com/dotnet/sdk/issues/1458#issuecomment-1063915490 -->
<Target Name="IncludeSymbolFiles" AfterTargets="ResolveAssemblyReferences" Condition="@(ReferenceCopyLocalPaths) != ''">
  <ItemGroup>
    <ReferenceCopyLocalPaths Include="%(ReferenceCopyLocalPaths.RelativeDir)%(ReferenceCopyLocalPaths.Filename).pdb;                                %(ReferenceCopyLocalPaths.RelativeDir)%(ReferenceCopyLocalPaths.Filename).xml" />
    <ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="!Exists('%(FullPath)')" />
  </ItemGroup>
</Target>
票数 59
EN

Stack Overflow用户

发布于 2017-01-27 19:09:46

虽然它可能无助于调试,但包含.pdb文件绝对是有用的,这样堆栈跟踪就有了行号。

在nuspec文件中,包含一个<files>元素( <package>的子元素,<metadata>的同级)。这是我在类库中拥有的:

代码语言:javascript
运行
复制
<files>
    <file src="bin\$configuration$\$id$.pdb" target="lib\net452\" />
</files>

确保目标与将.dll文件放在包中的文件夹相同。

票数 40
EN

Stack Overflow用户

发布于 2018-12-13 09:33:21

使用.csproj格式的.NET核心NuGet创建要容易得多,因为MSBuild完成了大部分工作。

为了包含您的pdb文件,只需在项目的.csproj文件中输入PropertyGroup中的标记<IncludeSymbols>true</IncludeSymbols>即可。

这将创建一个额外的.symbols.nupkg包,您可以将其发布到调试提要中。

旧的.NET框架文件可以通过开放源码库很容易地映射到新的csproj,比如https://github.com/hvanbakel/CsprojToVs2017

票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41713693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档