【发布时间】:2023-01-12 17:46:39
【问题描述】:
当我开发我的 MAUI 应用程序时,我按下构建。构建过程适用于所有平台(我在 Windows 上)。 但我想要实现的是构建特定于我选择的模拟器和配置,以加快速度。
我为 Android 和 iOS 开发移动应用程序,但有时我在 Windows 上测试它,而我的同事在 MAC 上测试它。
所以对于发布来说很简单:
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<TargetFrameworks>net6.0-android;net6.0-ios</TargetFrameworks>
</PropertyGroup>
但对于调试,我们目前只有:
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net6.0-windows10.0.19041.0</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('osx'))">$(TargetFrameworks);net6.0-maccatalyst</TargetFrameworks>
</PropertyGroup>
我们想要实现的是构建特定于此处指定的当前调试模拟器/机器:https://i.imgur.com/mFZTuCn.png
所以如果我们选择
- windows机https://i.imgur.com/dNguErn.png
- 在 Windows 上开发
- 然后只为 Windows TargetFramework 构建
另一方面
- 如果我们选择了安卓模拟器:https://i.imgur.com/3y99yla.png
- 在 Windows 上开发
- 然后只为 Android TargetFramework 构建
这样的事情甚至可能吗? 是的,理论上我可以暂时注释掉那些我不想为其构建的框架,但我宁愿以 MSBUILD 方式解决它。
【问题讨论】:
标签: .net build msbuild maui csproj