在构建中嵌入调试信息不包括任何
调试符号
Debugging information: Embedded 表示 MSBuild 会将 PDB 文件直接嵌入到目标 DLL 中,这意味着 DLL 不仅包含自己的DLL 还包含 PDB 文件的内容。 DLL 已经包含两个内容:它本身和pdb 文件。
随着项目的构建,创建了一个 nupkg 文件,但是当我使用
这个 nupkg 文件在调试另一个项目时没有符号
包含,pdb 文件也不包含在 nupkg 文件中。
所以你不必担心丢失pdb文件,它已经被放入DLL中了。
如果你想在另一个项目中本地调试nuget包的内容,你应该只将源文件(cs files)打包到nuget包中。
1) 在您的 lib 项目中添加此类打包节点。
<ItemGroup>
<Compile Update="Class1.cs" Pack="true" PackagePath="SourceFiles"></Compile>
//add any source files like this if you want to debug their functions
</ItemGroup>
它将源文件打包到 nupkg 的一个名为 SourceFiles 的文件夹中。
目的是将源文件与nuget一起打包,这样可以直接将源文件从包中取出进行后续调试,以保证调试成功。
2)然后打包项目,在将这个新版本的包安装到项目中之前,你应该先卸载旧的,clean nuget caches或者只是删除C:\Users\xxx(current user)\.nuget\packages下的所有文件,然后安装新的。
3)在调试项目前,应先将nuget的源文件添加到解决方案中。否则,VS会报错,nuget调试时找不到源文件。
右键单击解决方案-->属性-->通用属性-->调试源文件
将nuget的SourceFiles文件夹输入进去:
除此之外,还有a similar issue about it。
这是关于我的测试的示例: