我如何自动选择调试与发布库

本文关键字:布库 调试 选择 何自动 | 更新日期: 2023-09-27 18:03:16

使用MS Visual Studio 2008,我创建了一个c#库(我们称之为main.dll),它依赖于第二个库(helper.dll)。在main.dll的调试版本中,我设置了对helper.dll的调试版本的引用。但是,当我切换到构建main.dll的发布版本时,输出文件夹仍然包含helper.dll的调试版本。我没有看到为不同的构建类型选择不同版本的helper.dll的方法。在c++中,我可以告诉链接器从哪个文件夹获取文件,但在c#中我看不到这样做的方法。

我如何自动选择调试与发布库

这样做的典型方法是将所有项目放在单个解决方案中,并在它们之间使用项目引用。然后,当您在Debug中构建时,所有组件都将被构建并引用为Debug -对于Release也是如此。

或者,您可以为所有程序集使用单个输出文件夹,从那里引用每个二进制文件,并确保构建顺序正确-以便在构建main.dll之前将helper.dll构建到该文件夹。但是,这更容易发生故障,并且需要更多的人工维护。

当您从Debug切换到Release时,Visual Studio会在输出的bin文件夹中从Debug切换到Release。

为main.dll设置"Copy Always"属性为true。这将确保它被复制到适当的输出文件夹,并始终被引用。

如果第二个库helper.dll正在同一时间在同一解决方案中构建,您可以使用项目引用而不是直接引用.dll。然后,您可以为Release模式设置解决方案级配置,并以这种方式在Release模式下构建两个项目。