我有一个.NET MAUI应用程序,它启动到包含以下控件的页面:
<Switch
x:Name="swRemainLoggedIn"
Grid.Row="2"
Grid.Column="1"
IsToggled="{Binding RemainLoggedIn}"
Style="{StaticResource StandardSwitch}" />
字符串StandardSwitch
资源在项目中不作为静态资源存在,因此这段代码应该会抛出某种错误。但是,应用程序在调试模式下构建良好,仅在发布模式下启动时崩溃。
我所看到的释放模式的输出没有提供任何有用的反馈。我只是通过反复试验才发现Style属性是问题所在。有人知道为什么Visual Studio可能会错过这个错误吗?
我曾经试图找出如何为发布模式打开详细日志记录,但即使这样也无济于事。
1条答案
按热度按时间iaqfqrcu1#
我们通常使用以下方法来处理XAML代码:
1.xamlc
.NET多平台应用程序UI(.NET MAUI)XAML使用XAML编译器(XAMLC)直接编译为中间语言(IL)。XAML编译提供了许多好处:
XAML编译在.NET MAUI应用程序中默认启用,删除任何
XamlCompilation(XamlCompilationOptions.Skip)
语句将确保启用XAML编译。或者,可以通过将
XamlCompilationOptions.Compile
传递给XamlCompilationAttribute来强制启用XAML编译:字符串
在此示例中,对程序集中包含的所有XAML启用了XAML编译,并在编译时而不是运行时报告XAML错误。
也可以在类型级别启用XAML编译:
型
有关详细信息,请查看文档:XAML compilation。
.NET MAUI 2.XAML热重载
.NET多平台应用程序UI(.NET MAUI)XAML热重载是Visual Studio的一项功能,使您能够在运行的应用程序中查看XAML更改的结果,而无需重新生成项目。如果没有XAML热重新加载,您必须在每次想要查看XAML更改的结果时构建和部署应用程序。
在Visual Studio 2022中,默认情况下启用XAML热重载。如果它以前被禁用,可以通过从Visual Studio菜单栏中选择Debug > Options > XAML Hot Reload来启用它。
有关详细信息,请查看文档:XAML Hot Reload for .NET MAUI。