UWP单元测试错误:无法将XBF元数据类型列表反序列化为XamlControlsResources

时间:2019-07-14 06:04:02

标签: unit-testing uwp

最近,我们更新了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>

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

我在这里找到了解决方法,真正的修复可能会在Microsoft的下一个发行版中。

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

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