如何以每个配置为基础添加程序集引用
本文关键字:为基础 添加 程序集 引用 配置 | 更新日期: 2023-09-27 18:10:33
我目前正在寻找添加一些仅调试代码到windows phone项目。这个调试代码将拖进一些调试类库引用(nunit helper)和一些WCF服务客户端引用,我真的不希望在发布版本中引用这些。
谁能建议任何方式,我可以添加一个程序集引用调试,但不让它出现在发布?
我在Connect - https://connect.microsoft.com/VisualStudio/feedback/details/106011/allow-adding-assembly-references-on-a-per-configuration-basis-debug-release上看到过这个,但是它被标记为" deferred "
有一个对Visual Studio的UserVoice的请求,但它被标记为Closed
作为Won't Fix
在这里:https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/2062487-allow-assembly-references-to-switch-based-on-confi
这两种情况下使用MSBuild Condition
,你曾经配置过csproj
,忘记这个
第一个:使用Condition
- 创建新项目DebugOnlyHelpers
- 在此项目中引用所有特定于调试的帮助程序
- 在
csproj
文件中指定需要过滤引用的条件:
<ProjectReference
Include="DebugOnlyHelpers.csproj"
Condition=" '$(Configuration)' == 'DEBUG' "
Second:使用Condition
和Choose/When:
<Choose>
<When Condition=" '$(Configuration)'=='DEBUG' ">
<ItemGroup>
<Reference Include="NUnit.dll" />
<Reference Include="Standard.dll" />
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
<Reference Include="Standard.dll" />
</ItemGroup>
</Otherwise>
</Choose>
不幸的是,现在没有办法做到这一点。您必须切换到调试并删除引用,然后在返回发布时将其添加回来。