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

pet*_*hen 33 c# project visual-studio-2008

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

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

有什么建议?

Sal*_*iti 31

<Reference Include="MyLibrary">
  <HintPath>..\$(Configuration)\MyLibrary.dll</HintPath>
</Reference>
Run Code Online (Sandbox Code Playgroud)

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


Mar*_*ell 25

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

<Reference Include="Foo" Condition="'$(Configuration)'=='Debug'"/>
<Reference Include="Bar" Condition="'$(Configuration)'=='Release'"/>
Run Code Online (Sandbox Code Playgroud)

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


And*_*ndy 5

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