对于我的工作,我必须在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项目。
答案 0 :(得分:0)
如何获取Project Pre Build Event属性的文字字符串值
AFAIK,您无法获得Project Pre Build Event属性的文字字符串值。因为宏被 Preprocessor扩展,甚至在编译代码之前就会发生。它纯粹是文本的替代品。