错误文件'MakePri.exe'找不到

错误文件'MakePri.exe'找不到

问题描述:

在Visual Studio 2017中,我正在构建以.NET 4.6和Windows Universal Application 10.0为目标的类库(Portable)。在构建应用程序时,会引发下面的错误。错误文件'MakePri.exe'找不到

错误文件'MakePri.exe'找不到。有关更多信息,请参见http://go.microsoft.com/fwlink/?LinkID=798187

我做了以下
- 安装最新的Windows 10 SDK
- 修复的Visual Studio 2017年
- 同样在环境变量 “WindowsSdkDir” 不可
- 路径“C:\ PROGRAM文件(x86)\ Windows Kits \ 10 \ bin“存在,并且此文件也可用

我已使用以下帖子来解决此问题。 https://social.msdn.microsoft.com/Forums/en-US/8c752e9e-85df-4fee-8026-9b54b6e46be2/vs1517-error-appx1639-missing-file-makepriexe?forum=msbuild

但仍然没有运气。

+0

我创建了一个类库(便携式),它既针对.Net 4.6,也针对Windows通用应用程序10.0并成功构建。你能否提供一个[mcve]?我会尽力建立它,看看我能否在我身边重现它。 –

我遇到了同样的问题,并在纠缠我几天后,我终于设法修复它。从构建日志中我看到VS无法找到makepri.exe文件。在Microsoft.AppXPackage.Targets文件变量MakePriExeFullPath被使用,所以我用这个名称为我的系统添加了新的环境变量。对于值,我就指出,在Windows makepri.exe 10 SDK文件夹,这是我的机器上:

C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64\MakePri.exe 

我有同样的问题,我都试过了,除了重新安装Windows:

  • 修复VS2017
  • 安装附加的SDK
  • 重新安装SDK
  • 卸载VS2017,安装SDK,然后再安装VS2017
  • 卸载并重新安装VS2017(在一个步骤中)

正如原始的海报中提到:

  • WindowsSdkDir环境变量不存在
  • MakePri.exe存在于正确的道路
  • 注册表项对于Win10 SDK存在于WOW6432节点并指向正确的文件夹。

经过大量的头发拉动后,我激活了ProcMon(SysInternals),并从VS运行构建。我注意到MSBuild在每个SDK根文件夹中查找SDKManifest.xml,但该文件在Win10 SDK根文件夹中不存在。

我从另一台PC上复制了SDKManifest.xml,安装了相同的Win10 SDK版本,但没有问题并且工作正常。

这是超出我为什么卸载所有内容并从头开始安装后,SDKManifest.xml仍然丢失。 PS:我安装了很多SDK(7.0到10.0),其中大部分安装了相应的VS版本。我针对不同的项目(有些项目,特别是SSIS,不能升级到数据库引擎版本时无法迁移到VS2017)并排运行VS2008(Pro),VS2013(Ent),VS2015(Ent)和VS2017(Community)。我还安装了用于打印机驱动程序开发的WDK,所以这可能会使SDK/VS安装程序混淆。

编辑:我不愿意改变VS * .target文件或添加任何环境变量并将它们指向硬编码路径。这几乎肯定会破坏任何未来的SDK安装,并且不允许并行使用多个SDK版本