如何自动选择debug vs release库?

时间:2013-03-11 14:57:35

标签: c# debugging configuration release libraries

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

3 个答案:

答案 0 :(得分:2)

这样做的典型方法是将所有项目放在一个解决方案中,并在它们之间使用项目引用。然后,当您在Debug中构建时,将构建所有组件并将其作为调试引用 - 同样适用于Release。

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

答案 1 :(得分:1)

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

将main.dll的“始终复制”属性设置为true。这将确保将其复制到相应的输出文件夹,并始终引用。

答案 2 :(得分:-1)

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