我正在尝试使用项目文件(例如.vcxproj)设置环境变量
我查看了属性函数,但似乎没有这样的功能。
我知道有一种方法可以检索环境变量,但找不到如何设置它。
我觉得应该有办法在项目文件中设置环境变量。
从 MSBuild v4.0 开始,编码任务可以直接放在项目文件中。像这样:
<UsingTask
TaskName="SetEnvironmentVariableTask"
TaskFactory="CodeTaskFactory"
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v$(MSBuildToolsVersion).dll">
<ParameterGroup>
<Name ParameterType="System.String" Required="true" />
<Value ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Using Namespace="System" />
<Code Type="Fragment" Language="cs">
<![CDATA[
Environment.SetEnvironmentVariable(Name, Value);
]]>
</Code>
</Task>
</UsingTask>
请注意,在 MSBuild 14+ 中,AssemblyFile 引用应该只是:
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll"
The SetEnvironmentVariableTask
然后可以从目标使用:
<Target Name="SampleTarget" BeforeTargets="Build">
<SetEnvironmentVariableTask Name="TEST_ENV_VAR" Value="$(MSBuildProjectName)" />
</Target>
这比为小型 MSBuild 任务编写单独的 .DLL 方便得多。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)