作为一个临时解决方案(直到我们获得内部符号服务器设置),我正在尝试构建包含 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 的文件夹,其中包含源代码。
我看不到如何做的是让 Visual Studio 在通过引用的 DLL 进行调试时使用 src 目录中的 .cs 文件(我目前得到的只是一个反汇编的预览)。这可能吗,我认为应该是,但是我找不到任何有关如何执行此操作的示例。
编辑:感谢您接受的答案。请注意,我发现执行此操作的另一种方法是在消费解决方案 Common Properties -> Debug Source Files 列表中添加 Nuget 包的“src”文件夹。