visual studio中的条件引用 - 如何定义自定义变量

时间:2013-07-01 09:41:06

标签: c# visual-studio-2010 reference msbuild

我有一个应该引用其他项目的项目 这样做:

 <Reference Include="referencedDll" Condition=" '$(Configuration)' == 'Debug' ">
  <HintPath>..\Resources\External DLLs\referencedDll.dll</HintPath>
</Reference>

这很好用并复制dll以防它在调试中。 但我希望它不依赖于调试/发布,而是一些其他变量定义

类似的东西:

<Reference Include="referencedDll" Condition=" '$(ReleaseType)' == 'INTERNAL_RELEASE' ">
  <HintPath>..\Resources\External DLLs\referencedDll.dll</HintPath>
</Reference>

我没有找到如何定义ReleaseType变量? +有没有办法在代码和条件引用中对#if使用相同的变量?

我看到了使用

的选项
 Condition=" $(DefineConstants.Contains('INTERNAL_RELEASE'))"

但它没有像我期望的那样起作用

1 个答案:

答案 0 :(得分:1)

我不完全确定在Visual Studio中是否有办法做到这一点。 如果您直接从msbuild运行构建,则可以使用/ P:ReleaseType = INTERNAL_RELEASE。

在我的项目中,我最终更改了Configuration属性,而不是将其作为Debug和Release我有更多的值,如DEV,QA,STAGE等......