如何获取Project Pre Build Event属性的文字字符串值

时间:2017-07-07 12:51:49

标签: visual-studio powershell windows-installer nuget

对于我的工作,我必须在powershell脚本中定义一个预构建事件,该脚本将被添加到我安装NuGet包的目标项目中。该脚本第一次安装正常,预构建事件正在添加正确的方式是这样的:

xcopy $(SolutionDir)Some\Path $(ProjectDir)Some\Other\Path

当我再次卸载并安装我的NuGet包时,正在从目标项目请求现有的预构建事件。问题是,当在预构建事件中使用诸如$(ProjectDir)或$(SolutionDir)之类的环境变量时,我的powershell脚本将获取与该变量关联的值。像这样:

c:\Path\To\Solution\Dir

或:

C:\Path\To\Project\Dir

但我想让它给我带有env变量的字符串。 如何从powershell中的预构建事件中获取文字值?

更新::

我做了一些研究并得出结论,构建事件中的环境变量不会被替换,除非它是Windows Installer项目。

1 个答案:

答案 0 :(得分:0)

  

如何获取Project Pre Build Event属性的文字字符串值

AFAIK,您无法获得Project Pre Build Event属性的文字字符串值。因为宏被 Preprocessor扩展,甚至在编译代码之前就会发生。它纯粹是文本的替代品。