C#/ VS2008:为项目添加单独的调试/发布引用

时间:2009-03-29 10:16:09

标签: c# visual-studio-2008 project

将用户控件或项目引用添加到VS 2008 C#项目时,我只能添加一个程序集配置。是否可以添加单独的配置,具体取决于容器项目的配置。

E.g。我正在开发一个用户控件,我正在开发一个示例应用程序。我想添加用户控件,以便示例的调试版本将使用用户控件的调试版本,以及示例的发布版本以及用户控件的发布版本。

有什么建议吗?

4 个答案:

答案 0 :(得分:31)

<Reference Include="MyLibrary">
  <HintPath>..\$(Configuration)\MyLibrary.dll</HintPath>
</Reference>

如果在调试模式下编译,则添加引用“.. \ Debug \ MyLibrary.dll”或者如果在发布模式下编译,则添加.. \ Release \ MyLibrary.dll。

答案 1 :(得分:25)

您可以通过编辑csproj文件来完成此操作;在引用中添加“Condition”属性。

<Reference Include="Foo" Condition="'$(Configuration)'=='Debug'"/>
<Reference Include="Bar" Condition="'$(Configuration)'=='Release'"/>

但是,我会担心这对单元测试意味着什么。

答案 2 :(得分:5)

虽然@Marc Gravell的建议会起作用,但是你有理由不想在同一个解决方案中同时使用这两个项目吗?如果它们位于同一解决方案中,则可以在将用户控件项目引用到示例应用程序的项目时添加项目引用。使用Project Reference时,Visual Studio将自动为Debug版本添加Debug版本,为Release版本自动添加Release版本。

答案 3 :(得分:0)

不是直接添加对.dll的引用,而是迫使您从debug或release文件夹中选择.dll,而是应通过选择“项目引用”来添加引用。 This link解释了如何通过.dll与项目-项目引用来添加引用。为了您的目的,您应该选择后者。

也可以参考my answer来了解何时将引用添加为.dll与将引用添加为项目。