繁体   English   中英

如何使用Nuget源代码进行调试

[英]How to debug using Nuget source code

作为临时解决方案(直到获得内部Symbol服务器设置),我试图构建包含DLL所有源代码的Nuget程序包,以便我们的用户可以调试其代码。

我已经建立了以下Nuspec文件

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
    <metadata>
        <id>My Assembly</id>
        <version>1.0.0</version>
        <title>My Assembly</title>
        <authors>Me</authors>
        <owners>Me</owners>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>My description</description>
        <copyright>© Me 2014</copyright>
          <dependencies>
            <dependency id="Autofac" />
            <dependency id="Autofac.Configuration" />
            <dependency id="Autofac.Web"/>
            <dependency id="AutoMapper" />
            <dependency id="FluentNHibernate" />
            <dependency id="Iesi.Collections"/>
            <dependency id="Newtonsoft.Json" />
            <dependency id="NHibernate"/>
        </dependencies>
          <frameworkAssemblies>
  <frameworkAssembly assemblyName="System.Web" />
</frameworkAssemblies>
    </metadata>
   <files>
    <file src="bin\MyAssembly.dll" target="lib" />
    <file src="bin\MyAssembly.pdb" target="lib" />
    <file src="**\*.cs" target="src"/>
  </files>          
</package>

当我添加构建此Nuspec文件时,最终得到一个不错的包,包括我的DLL,以及一个名为src的文件夹,其中包含源代码。

我看不到怎么做,是在通过引用的DLL调试时让Visual Studio使用src目录中的.cs文件(我目前得到的只是一个分解的预览)。 我想应该是这样吗,但是我找不到如何执行此操作的任何示例。

编辑:感谢您接受的答案。 只是要注意,我发现这样做的另一种方法是在使用的解决方案“公共属性”->“调试源文件”列表中为Nuget包添加“ src”文件夹。

在运行程序时,可以打开“调试|模块”窗口。 从那里,您可以选择DLL并浏览到相应的PDB文件。 之后,您可以手动打开源CS文件并在其中设置断点。 Visual Studio将验证PDB和CS是否对应于已编译的CS文件,但这应该没问题,因为您将它们打包在一起。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM