是否存在可以始终指向二进制文件所在位置的Visual Studio构建或TFS构建中使用的属性?
这意味着当我在Visual Studio中构建时,它将指向C:\ MySolution \ MyProject \ bin \ Release,而在TFS Build中,它将指向C:\ Build \ Path \ MySoution \ Binaries
如果没有一个,为什么不呢?这似乎是一个常见的基本需求/功能。
最佳答案
有一个$OutDir
属性,您可以在生成后事件中使用它。
在VS2010版本中,它将是从当前项目到二进制文件的相对路径,因此它将是“ bin \ Debug \”。 (输出的完整路径是$ TargetDir,即$(ProjectDir)\ $(Outdir))。
在TFS构建期间,$ OutDir被覆盖,以指向将二进制文件放入其中的路径:
<OutDir Condition=" '%(ConfigurationToBuild.PlatformToBuild)' != 'Any CPU' ">$(BinariesRoot)\%(ConfigurationToBuild.PlatformToBuild)\%(ConfigurationToBuild.FlavorToBuild)\</OutDir>
<OutDir Condition=" '%(ConfigurationToBuild.PlatformToBuild)' == 'Any CPU' ">$(BinariesRoot)\%(ConfigurationToBuild.FlavorToBuild)\</OutDir>
编辑:
无论哪种情况,要获取完整路径,您可以使用以下一种方法:
IF '$(BuildingInsideVisualStudio)'=='true' (
COPY SomeFile $(TargetDir)$(OutDir)
) ELSE (
COPY SomeFile $(OutDir)
)