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

时间:2017-07-27 14:36:43

标签: c# visual-studio uwp desktop-bridge

在Visual Studio 2017中,我正在构建类库(Portable),它同时针对.Net 4.6和Windows Universal Application 10.0。在构建应用程序时,会抛出以下错误。

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

我做了以下几件事 - 安装最新的Windows 10 SDK
- 修复Visual Studio 2017
- 同样在环境变量中,“WindowsSdkDir”不可用 - 存在“C:\ Program Files(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

但仍然没有运气。

3 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,在烦我几天之后我终于设法解决了这个问题。从构建日志中我看到VS无法找到makepri.exe文件。在Microsoft.AppXPackage.Targets中使用了文件变量 MakePriExeFullPath ,因此我为具有该名称的系统添加了新的环境变量。为了价值,我把它指向windows 10 SDK文件夹中的makepri.exe,它位于我的机器上:

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

答案 1 :(得分:0)

我遇到了同样的问题,除了重新安装Windows之外,我尝试了一切:

  • 修复VS2017
  • 安装其他SDK
  • 重新安装SDK
  • 卸载VS2017,安装SDK,然后安装VS2017
  • 卸载并重新安装VS2017(一步完成)

如原始海报所述:

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

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

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

在卸载所有内容并从头开始安装后,SDKManifest.xml仍然缺失,这超出了我的原因。

PS:我安装了许多SDK(7.0到10.0),其中大多数安装了相应的VS版本。我为不同的项目并行运行VS2008(Pro),VS2013(Ent),VS2015(Ent)和VS2017(社区)(某些项目,尤其是SSIS,无法升级到VS2017而无需升级到数据库引擎版本)。我还安装了WDK用于打印机驱动程序开发,因此所有这些都可能使SDK / VS安装程序感到困惑。

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

答案 2 :(得分:0)

我遇到了同样的问题。

我要解决的是从安装在此路径“ D:\ Windows Kits \ 10”中的sdk文件夹复制一个SDKManifest.xml文件

只需将SDKmanifest复制到项目根文件夹,即可正常工作!

相关问题