【问题标题】:.NET MAUI .csproj MSBUILD.NET MAUI .csproj MSBUILD
【发布时间】: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

所以如果我们选择

另一方面

这样的事情甚至可能吗? 是的,理论上我可以暂时注释掉那些我不想为其构建的框架,但我宁愿以 MSBUILD 方式解决它。

【问题讨论】:

    标签: .net build msbuild maui csproj


    【解决方案1】:

    但我想要实现的是构建特定于我选择的模拟器和配置,以加快速度。

    您可以右键单击 .csproj,然后单击“属性”。在应用程序中,取消选中您不想构建的平台。它会自动注释掉那些你不想为其构建的框架。

    【讨论】: