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

时间:2017-10-19 11:16:42

标签: winapi uwp

我使用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 \ 10 \ bin \ 10.0.16299.0 \ XamlCompiler \ Microsoft.Windows.UI.Xaml.Common.targets(263,5):Xaml内部错误错误WMC9999:类型Universe不能解决程序集:Microsoft.Win32.Registry,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a。

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

我在哪里可以报告此类错误以及如何解决?

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

4 个答案:

答案 0 :(得分:10)

我之前遇到过同样的问题,只是通过从解决方案文件夹中删除.vs文件夹来解决这个问题。

enter image description here

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

更新

在下一个SDK中出现正确的修补程序之前,这是Visual Studio团队的一种解决方法。

  

Windows小组调查了这个问题,就像我们怀疑这是SDK的一个已知问题,我们已经计划在下一个版本中解决这个问题(我们无法将其纳入Fall Creators Update SDK)。现在,遗憾的是,您需要确保在同一解决方案中打开的所有项目的TargetPlatformMinVersion都是相同的。

答案 1 :(得分:0)

这使我有些感动。我能够在Visual Studio 2017中很好地构建,但是在命令行中失败了。显然,这与我使用的nuget.exe cli有关。它是在自动检测VS2019时出于某种原因而使2个必需的软件包无效,以使其包含在构建中,然后触发了此特定问题的编译器错误。

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

因此,而不是

call nuget restore %Solution% -Recursive

我现在做

call nuget restore %Solution% -Recursive -MsBuildVersion 15.9

答案 2 :(得分:0)

msbuild -Restore

可能会帮助

根据我的github操作enter link description here

答案 3 :(得分:0)

VS2017 Ver。中存在一个已知问题。 15.6与NuGet如何使用FallBackFolders还原软件包有关。您可以通过使用以下命令运行恢复来解决此问题:

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

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

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

有关更多信息,请检查以下线索: MS Developer Community