msbuild - 如何在 MSBuild 中获取目标操作系统
问题描述
我正在尝试设置一个属性,我们在构建时针对的操作系统。
我想知道当我们运行这些命令时我们是针对 Windows 还是 Linux。
dotnet publish -c Release -r win10-x64
或者
dotnet publish -c Release -r linux-x64
变量$(OS)
总是显示Windows_NT
是否有一个预定义的变量可以告诉我是针对 Windows 还是 Linux?
解决方案
我无法为此找到预定义的变量,但是,我能够创建一个。
<Target Name="AfterPublishTarget" AfterTargets="Publish">
<PropertyGroup>
<IsWindows>$(PublishDir.Contains('win'))</IsWindows>
<IsLinux>$(PublishDir.Contains('linux'))</IsLinux>
</PropertyGroup>
</Target>
我希望这对其他人有帮助。
推荐阅读
- github - 如何跨不同组织迁移/移动 GitHub 团队(在 GHE 中)
- c++ - 使用数组作为“goto”标签
- android - 离子 ngIf 返回语句永远循环
- python - 如何将列表的 pandas DataFrame 列转换为新行?
- revit-api - 在 WorksharedOperationProgressChanged 事件中使用不同的事件参数 - Revit API
- heroku - 是否可以获取 Heroku 仪表板的日志?
- angular - 角材料垫卡未正确显示拉丁字母字符
- powershell - 使用 Powershell 修改 SCCM 应用程序部署失败
- ios - 我的视图是透明的,如何使组件不透明
- laravel - .htaccess - 从代理重定向中排除特定的 URL 和目录