2

我有一个项目应该参考其他项目以这种方式完成:

 <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'))"

但它没有像我预期的那样工作

4

1 回答 1

1

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

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

于 2013-07-01T13:23:05.630 回答