【发布时间】:2019-04-27 04:55:25
【问题描述】:
向 VS 2008 C# 项目添加用户控件或项目引用时,我只能添加程序集的一种配置。是否可以添加单独的配置,具体取决于容器项目的配置。
例如我正在开发一个用户控件,并且正在开发一个示例应用程序。我想添加用户控件,以便示例的调试版本将使用用户控件的调试版本,而示例的发布版本将使用用户控件的发布版本。
有什么建议吗?
【问题讨论】:
标签: c# visual-studio-2008 project
向 VS 2008 C# 项目添加用户控件或项目引用时,我只能添加程序集的一种配置。是否可以添加单独的配置,具体取决于容器项目的配置。
例如我正在开发一个用户控件,并且正在开发一个示例应用程序。我想添加用户控件,以便示例的调试版本将使用用户控件的调试版本,而示例的发布版本将使用用户控件的发布版本。
有什么建议吗?
【问题讨论】:
标签: c# visual-studio-2008 project
<Reference Include="MyLibrary">
<HintPath>..\$(Configuration)\MyLibrary.dll</HintPath>
</Reference>
如果在调试模式下编译,则添加引用“..\Debug\MyLibrary.dll”,如果在发布模式下编译,则添加引用“..\Release\MyLibrary.dll”。
【讨论】:
您可以通过编辑 csproj 文件来做到这一点;为引用添加“条件”属性。
<Reference Include="Foo" Condition="'$(Configuration)'=='Debug'"/>
<Reference Include="Bar" Condition="'$(Configuration)'=='Release'"/>
但是,我会担心这对单元测试意味着什么。
【讨论】:
UserControl,通过这种方式我们不能添加对两次的引用,Visual Studio 不允许它@Salvatore Previti 回答最好的一个。
虽然@Marc Gravell 的建议可行,但您是否有理由不希望两个项目在同一个解决方案中?如果它们在同一个解决方案中,您可以在将用户控件项目引用到示例应用程序的项目时添加项目引用。使用项目引用时,Visual Studio 将自动为 Debug 构建添加 Debug 版本,为 Release 构建添加 Release 版本。
【讨论】: