1)如果您通过编辑 .csproj 文件手动执行此操作,则可以在不同构建配置的引用之间切换。
csproj 文件是一个 MSBuild 脚本,它是 XML。如果您向下浏览它,您应该会发现一个 <ItemGroup> 元素,其中包含一堆 <Reference> 元素。您可以向这些参考元素之一添加条件,如下所示:
<Reference Condition=" '$(Configuration)' == 'Debug' " Include="System.Drawing" />
Include 属性可以包含程序集的完整强名称,这对于二进制文件的调试和发布版本可能不一定不同。在这种情况下,您可以添加一个 <HintPath> 元素以包含 .dll 的路径。
<Reference Include="assembly strong name">
<HintPath>c:\LibraryStuff\Debug\Library.dll</HintPath>
</Reference>
您的提示路径也可以是相对的:
<HintPath>..\..\LibraryStuff\Debug\Library.dll</HintPath>
[免责声明:虽然我从来没有真正用参考做过这个,我不能保证不会有问题。我很快对其进行了测试,它似乎工作正常,尽管无论您选择哪种构建配置,Visual Studio 都会显示这两个引用(尽管它只构建匹配配置类型的那个)。如果它们具有匹配的名称,它还会在第二个上放置一个警告图标,但编译似乎工作正常。]
如果您确实有问题,您可以尝试只使用一个具有两个不同 HintPath 节点的引用并将条件放在提示路径上。
2)如果您将 .pdbs 和源代码都放在正确的位置并且可以访问,那么即使您只引用 .dll 文件,您也应该能够通过单步执行代码直接调试到库中。