You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新建UWP UnitTest App崩溃,无法更新Microsoft.NET.Test.Sdk至15.7.2

UWP Unit Test App白屏崩溃 + Microsoft.NET.Test.Sdk更新失败的解决方案

你在VS2017 15.7.2里遇到的这两个问题确实是关联的——UWP单元测试项目对测试SDK的版本有严格的绑定要求,版本不匹配不仅会导致SDK更新失败,还会触发测试启动时的白屏崩溃。下面是我整理的分步修复方案:

一、解决Microsoft.NET.Test.Sdk更新失败问题

你看到的错误提示Cannot modify an evaluated object originating in an imported file "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\WindowsXaml\v15.0\Microsoft.Windows.UI.Xaml.Common.targets",是因为VS2017内置的UWP MSBuild目标文件锁死了测试SDK的版本,直接通过NuGet管理器更新会触发冲突。手动修改项目文件就能解决:

  • 右键你的UWP单元测试项目,选择卸载项目,接着右键已卸载的项目,点击编辑[你的项目名].csproj
  • 在打开的XML文件里,找到<PackageReference Include="Microsoft.NET.Test.Sdk" Version="xxx" />这一行,把版本号改成15.7.2(和你的VS版本完全对齐)
  • 检查<PropertyGroup>节点里是否有<TestProjectType>UnitTest</TestProjectType>,如果没有就加上这一行,确保测试项目类型正确配置
  • 保存文件后重新加载项目,再执行NuGet包还原,这次应该能成功更新SDK了

二、修复测试启动白屏崩溃问题

SDK版本不匹配是核心诱因,修复SDK后再做以下验证和清理:

  • 打开项目属性的应用选项卡,确认项目的目标版本和最低版本与你本地安装的Windows SDK版本一致(版本不匹配也会导致启动崩溃)
  • 执行生成→清理解决方案,然后手动删除项目目录下的bin和obj文件夹,彻底清理旧的编译产物
  • 回到测试资源管理器,右键所有测试选择运行选定的测试,观察是否还会出现白屏崩溃
  • 如果问题仍存在,尝试重置VS的测试相关配置:以管理员身份打开命令提示符,运行devenv /resetuserdata,重置完成后重启VS再测试

三、避坑提醒

VS2017的UWP单元测试对版本兼容性要求极高,尽量保证VS版本、Windows SDK版本、Microsoft.NET.Test.Sdk版本三者完全匹配,不要跨版本更新测试SDK。如果需要使用更高版本的测试工具链,建议直接升级VS到对应的版本(比如15.9.x系列),旧版VS的内置MSBuild逻辑不兼容新的测试SDK。

内容的提问来源于stack exchange,提问作者Sebastian Zolg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:05:46