在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”路径,此文件也可用
但仍然没有运气。
答案 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之外,我尝试了一切:
如原始海报所述:
经过大量的拔毛后,我启动了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复制到项目根文件夹,即可正常工作!