我使用 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 也是最新的。
这个让我有点震惊。我能够在 Visual Studio 2017 中构建良好,但在命令行中却失败了。显然这与我使用的
nuget.exe
cli 有关。它会自动检测 VS2019,并且出于某种原因使构建中包含的 2 个必要包无效,然后触发了此特定问题的编译器错误。
我通过 nuget cli 的选项指定 MSBuild 版本来修复它。
所以,
call nuget restore %Solution% -Recursive
我现在做,
call nuget restore %Solution% -Recursive -MsBuildVersion 15.9
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"
欲了解更多信息,请查看以下线索: 微软开发者社区
刚刚处理过类似的情况。我过去也经历过这种情况,这与.Net 的版本和平台有关。但这一次,我使用的是外部库
Organization.Library
,我的项目名称为Organization.Services.Library
,这对 Visual Studio 来说是一个问题。 renaming my project to
Organization.Services.Libraries`解决了它。
不是最好的名字,但我知道要解决什么。