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

C# 如何使用Nuget源代码进行调试,c#,visual-studio,nuget,nuspec,C#,Visual Studio,Nuget,Nuspec,作为一个临时解决方案(直到我们得到一个内部符号服务器设置),我试图构建包含DLL所有源代码的Nuget包,以便我们的用户可以调试其代码 我已经构建了以下Nuspec文件 <?xml version="1.0" encoding="utf-8"?> <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> <metadata> <id>

作为一个临时解决方案(直到我们得到一个内部符号服务器设置),我试图构建包含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>

我的集会
1.0.0
我的集会
我
我
假的
我的描述
©我2014
当我添加build这个Nuspec文件时,我得到了一个很好的包,包括我的DLL,还有一个名为src的文件夹,其中包含源代码

我看不出该如何做的是让VisualStudio在通过引用的DLL进行调试时使用src目录中的.cs文件(我当前得到的只是一个分解的预览)。这可能吗,我想应该是的,但是我找不到任何例子来说明如何做到这一点

编辑:
谢谢你的回答。请注意,我发现的另一种方法是在consuming solutions Common Properties->Debug Source Files列表中为Nuget软件包添加“src”文件夹。

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

谢谢,我已修改了我的问题,以包含更多信息。令人遗憾的是,VS没有自动检查“src”文件夹,因为这几乎被认为是在Nuget pacakges中包含源代码的默认位置。感谢您提供的信息,我以前从未见过VS对话框。在与IntelliJ/Java的对比中,NuGet看起来仍然有点像局外人。如果源代码在NuGet包中公开,那么它们在默认情况下不会链接,我绝对感到惊讶,这肯定是我错过的。