首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BeforeBuild操作中的WIX环境变量

BeforeBuild操作中的WIX环境变量
EN

Stack Overflow用户
提问于 2017-01-27 23:29:19
回答 1查看 472关注 0票数 0

在我的.wixproj文件中,我有一个前置构建操作来获取程序集版本并将其附加到输出文件名中。但是,我的代码在本地机器上构建的方式与TFS服务器上的代码不同。因此,我尝试以下几点:

代码语言:javascript
复制
  <Target Name="BeforeBuild">
    <GetAssemblyIdentity AssemblyFiles="$(TargetDir)\myassembly.dll" Condition="$(env.COMPUTERNAME)=='THETFSSERVER'">
      <Output TaskParameter="Assemblies" ItemName="AssemblyVersions" />
    </GetAssemblyIdentity>
    <GetAssemblyIdentity AssemblyFiles="$(SolutionDir)\Source\Project\bin\myassemblydll" Condition="$(env.COMPUTERNAME)!='THETFSSERVER'">
      <Output TaskParameter="Assemblies" ItemName="AssemblyVersions" />
    </GetAssemblyIdentity>
    <CreateProperty Value="$(OutputName)_%(AssemblyVersions.Version)">
      <Output TaskParameter="Value" PropertyName="TargetName"/>
    </CreateProperty>
  </Target>

我尝试过&(env.COMPUTERNAME)、&COMPUTERNAME,以及我在网上看到的其他一些选项,以及其他一些有意义的选项,但我无法找到用于查看计算机名称的确切内容.有什么办法可以做到吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-30 18:48:30

的确有。是$(COMPUTERNAME)。当您第一次在MSBuild中加载构建脚本时,有一种非常简单的方法可以了解所有的属性是什么。您所要做的就是使用诊断细节生成一个日志。然后查看日志文件的顶部,它将列出所有初始属性和项。

例如:

Microsoft.Build.Engine;verbosity=diagnostic;logfile=diag.log MyProject.proj,msbuild.exe /l:FileLogger

链接,从哪里得到答案

Alsol,tfs是在msbuild下构建的,您可能是从visual studio构建的。因此,条件可以使用$(BuildingInsideVisualStudio)属性而不是计算机名。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41904677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档