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

问题描述 投票:1回答:1

由于代码合并问题,或不小心在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损坏了,那将有助于我晚上入睡:-)

由于代码合并问题,或者不小心在XAML文件中迷惑,因此XAML甚至不是有效的XML,都有可能出现错误……注意中间缺少的

不幸的是,编译器未检测到此类错误,这与Azure DevOps无关。

虽然在运行时对编译后的BAML进行解析时,您将获得一个异常,但是请确保在发布应用之前先对其进行测试。

老实说,如果有本地版本(VS2019)开关可以告诉我,在完全重建期间XAML损坏了,那将有助于我晚上入睡:-)

恐怕不是:(

wpf xaml compiler-errors
1个回答
0
投票

不幸的是,编译器未检测到此类错误,这与Azure DevOps无关。

虽然在运行时对编译后的BAML进行解析时,您将获得一个异常,但是请确保在发布应用之前先对其进行测试。

© www.soinside.com 2019 - 2024. All rights reserved.