wpf - 为什么格式错误的 XAML 似乎编译然后在运行时失败?

标签 wpf xaml compiler-errors

由于代码合并问题,或者在 XAML 文件中意外输入错误,它可能会出现错误,以至于 XAML 甚至不是有效的 XML...

例如注意丢失的 <在中线上

    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                ResourceDictionary Source="pack://application:,,,/Lovely.UI.Wpf.Themes;component/Theme.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </UserControl.Resources>

我们的构建系统 (Azure DevOps) 将愉快地构建可执行文件。即使在本地,如果 XAML 在设计器中打开,我们也只会收到错误...

是否可以将格式错误的 XAML 文件提升为构建错误,以帮助解决有时发生的意外按键或合并问题?

笔记:
我们是最新的并且正在使用构建配置文件,例如YAML 步骤: - 任务:VSBuild@1

我必须准确检查它使用的是哪个版本的编译器,但它至少是 VS2017。

我不是 Dev Ops 管理员,因此无法在服务器端回答太多问题。老实说,如果有一个本地构建 (VS2019) 开关可以告诉我在完全重建期间 XAML 损坏,那将有助于我晚上 sleep :-)

最佳答案

不幸的是,编译器没有检测到这种错误,这与 Azure DevOps 无关。

在运行时解析编译的 BAML 时,您会收到异常,因此请确保在发布之前测试运行应用程序。

To be honest if there was a local build (VS2019) switch that could tell me there was broken XAML during a full rebuild, that would help me sleep at night :-)



恐怕不是:(

关于wpf - 为什么格式错误的 XAML 似乎编译然后在运行时失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58951818/

相关文章:

WPF 我可以使用 DataTrigger 让 View 在 View 模型更改属性值后执行某些操作吗?

wpf - 需要使用 LINQ 将对象绑定(bind)到列表框的 WPF 简单示例

silverlight - 在 Silverlight 资源字典后面添加代码时出错 : AG_E_PARSER_BAD_TYPE

xaml - 如何禁用 ListView 中的单击? xamarin.形式

wpf - 将数据从一页传递到另一页WPF VB.Net

c# - 如何在 xaml wpf 的 ListView 中使用绑定(bind)到 ToggleButton 的 Popup?

c# - 如何将虚拟化 ListView 放入 StackPanel 或 Flyout 中?

go - 进行测试可以访问生产功能,但不能访问测试功能

matlab - PERSISTENT声明必须在使用任何变量之前

c - 程序中的 "error: stray ‘\344’是什么意思?