我有一个使用Visual Studio 2017创建的.NET Core 1.1控制台项目.
构建项目后,我需要运行一个powershell脚本,所以我将以下内容添加到MyProject.csproj文件中:
<Target Name="PostcompileScript" AfterTargets="Build">
<Exec Command="execute-tasks.ps1" />
</Target>
现在我需要在Linux环境中构建项目,我需要指示MSBuild在Linux中运行时运行execute-tasks.sh而不是execute-tasks.ps1.
我相信这可以通过Condition属性实现,但是有一个保存操作系统名称的MSBuild变量吗?
解决方法:
变量是$(OS),通常根据是否为Windows_NT进行检查:
<Exec Command="./foo.sh" Condition=" '$(OS)' != 'Windows_NT' " />