XamlCompiler 错误 WMC1006:无法解析程序集或 Windows 元数据文件“Microsoft.Win32.Registry.dll”

问题描述 投票:0回答:5

我使用 Windows SDK 10.1.16299.15 将我的 UWP 项目升级到 Fall Creator Update。

当我编译或创建商店包时,我得到:

C:\Users...\Visual Studio 2017\Projects\FileRenamer\Get.the.solution.FileRenamer.App\Get.the.solution.FileRenamer.App.csproj:XamlCompiler 错误 WMC1006:无法解析程序集或 Windows 元数据文件'Microsoft.Win32.Registry.dll' 3>C:\Program Files (x86)\Windows Kits in .0.16299.0\XamlCompiler\Microsoft.Windows.UI.Xaml.Common.targets(263,5):Xaml 内部错误错误 WMC9999:类型 Universe 不能解析程序集:Microsoft.Win32.Registry,版本=0.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a。

我从未引用过 Microsoft.Win32.Registry.dll,所以我认为这是 Windows SDK Bug?

我可以在哪里报告此类错误以及如何修复它?

PS:我的 Windows 机器获得了 Fall Creators 更新,Visual Studio 也是最新的。

winapi uwp
5个回答
13
投票

我之前也遇到过同样的问题,只是通过从解决方案文件夹中删除

.vs
文件夹来解决它。

请注意,默认情况下此文件夹是隐藏,因此您需要启用从文件资源管理器显示隐藏项目。

更新

在下一个 SDK 中提供正确的修复之前,这是 Visual Studio 团队提供的解决方法。

Windows 团队调查了这个问题,就像我们怀疑这是 SDK 的一个已知问题一样,我们已经计划在下一个版本中解决该问题(我们无法将其纳入秋季创意者更新 SDK)。不幸的是,目前您需要确保在同一解决方案中打开的所有项目的 TargetPlatformMinVersion 都是相同的。


1
投票

这个让我有点震惊。我能够在 Visual Studio 2017 中构建良好,但在命令行中却失败了。显然这与我使用的

nuget.exe
cli 有关。它会自动检测 VS2019,并且出于某种原因使构建中包含的 2 个必要包无效,然后触发了此特定问题的编译器错误。

我通过 nuget cli 的选项指定 MSBuild 版本来修复它。

所以,

call nuget restore %Solution% -Recursive

我现在做,

call nuget restore %Solution% -Recursive -MsBuildVersion 15.9


1
投票

VS2017 版本中存在一个已知问题。 15.6 涉及 NuGet 如何使用 FallBackFolders 恢复包。您可以通过使用以下命令运行恢复来解决此问题:

msbuild.exe /t:Restore /p:RestoreAdditionalProjectFallbackFolders=""

您还可以在解决方案路径中或针对特定项目运行上述命令(请参阅以下命令模板),或者如果您使用此类文件来构建解决方案(例如在构建服务器上),则将它们添加到构建批处理文件中:

msbuild.exe /t:Restore /p:RestoreAdditionalProjectFallbackFolders="" "[Your Project|Solution Path]\[Your Project|Solution Name].csproj|sln"

欲了解更多信息,请查看以下线索: 微软开发者社区


0
投票
msbuild -Restore

可能有帮助

根据我的github操作在此处输入链接描述


0
投票

刚刚处理过类似的情况。我过去也经历过这种情况,这与.Net 的版本和平台有关。但这一次,我使用的是外部库

Organization.Library
,我的项目名称为
Organization.Services.Library
,这对 Visual Studio 来说是一个问题。
renaming my project to 
Organization.Services.Libraries`解决了它。

不是最好的名字,但我知道要解决什么。

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