当我开发我的MAUI应用程序时,我按下build键。构建过程在所有平台上运行(我在windows上)。但我想实现的是构建特定于我选择的模拟器和配置,以加快速度。
我为Android和iOS开发移动应用程序,但有时我会在Windows上测试它,在Mac上测试我的同事。
因此,释放很简单:
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<TargetFrameworks>net6.0-android;net6.0-ios</TargetFrameworks>
</PropertyGroup>
但对于Debug,我们目前只有:
<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目标框架构建
另一方面
- 如果我们选择了Android模拟器:https://i.imgur.com/3y99yla.png
- 在windows上开发
- 然后只为Android构建TargetFramework
像这样的事情真的可能吗?是的,理论上我可以暂时注解掉那些我不想构建的框架,但我宁愿用MSBUILD的方式来解决它。
1条答案
按热度按时间v6ylcynt1#
但是我想要实现的是针对我所选择的模拟器和配置进行构建,以加快速度。
你可以右键点击.csproj,然后点击属性,在应用程序中,取消勾选你不想构建的平台,它会自动注解掉那些你不想构建的框架。