0

最近我们更新了 UWP 项目以使用 Microsoft.UI.Xaml.Controls 来替换 NavigationViewItem 的 Windows.UI.Xaml.Controls,以避免在 RS4 上崩溃。崩溃是由于某些导航视图功能需要 RS5 或更高版本的机器。

但是在我们更新 UWP 项目后,我们的单元测试项目(只有 UWP 一个,.net 仍然可以正常工作)停止工作。它总是被跳过。如果我将单元测试项目设置为启动项目,我将在 InitializeComponent() 中设置的 UnhandledException 回调中打一个断言:

"Cannot deserialize XBF metadata type list as 'XamlControlsResources' was not found in namespace 'Microsoft.UI.Xaml.Controls'.

我很确定这是由上面的 UI 库更改引起的(可能是命名空间冲突?),但我不知道如何修复它。我已将 VS 2017 更新到最新版本,还尝试更新单元测试框架和 NuGet 包,没有任何帮助。

我们使用的包是:

<PackageReference Include="Microsoft.UI.Xaml">
  <Version>2.1.190405004.2</Version>
</PackageReference>

任何想法?

4

1 回答 1

0

我在这里找到了一种解决方法,真正的修复可能会在微软的下一个版本中。

https://github.com/microsoft/microsoft-ui-xaml/issues/230

我将 Nuget 包添加到我的单元测试项目中,还添加了一个 UnitTestAppMainPage.xaml。这使我的 UWP 单元测试项目再次工作。

于 2019-07-24T00:20:51.263 回答