MSBuild在创建“Windows脚本宿主对象模型”的COM包装器时失败了。

4

情况

  • 我刚刚重新安装了Windows 10和我的开发工具,同时保留了我的数据
  • 我正在使用VS2015更新3。
  • 我有一个包含多个项目的解决方案。
  • 该解决方案正在版本控制(git)下,并且只有我在团队中遇到了此问题。

问题

构建和重建失败。 在输出中,我可以看到根项目的构建(所有其他项目直接或间接依赖于它)失败,并显示以下错误:

C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(2399,5): warning MSB3290: Failed to create the wrapper assembly for type library "IWshRuntimeLibrary". Access denied (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

IWshRuntimeLibrary 是属于Windows脚本宿主对象模型类型库的一部分,位于wshom.ocx中,该文件可以在%SYSTEMROOT%\System32 或者 %SYSTEMROOT%\syswow64被找到。

在Visual Studio中,对IWshRuntimeLibrary的引用标记为黄色感叹号符号。

未起作用的方法

  • 我重新添加了引用,但没有帮助。
  • 我将源代码克隆到另一个位置。

起作用的方法

  • 我以管理员身份启动Visual Studio。构建解决方案时没有任何问题。不幸的是,这并不是日常使用的选项,但强调了这是访问权限问题。

感谢任何帮助。


你为什么重新安装Windows?它似乎没有变得更好。 - Hans Passant
@HansPassant:只是想明确一下,我在重新安装之前并没有遇到这个问题。由于无法启动Windows并且所有修复尝试均失败,我重新安装了Windows。编辑:可能是因为a)卸载Hololens模拟器或b)对C驱动器进行了过度清理造成的。;-) - ChrisM
你好,我也遇到了同样的警告(无法为类型库创建包装程序集...)。你解决了吗? - Ilya Loskutov
很遗憾,不行。我知道我将会得到新的硬件并且在几周后放弃这台机器,所以我一直使用VS作为管理员,直到那时为止。 - ChrisM
1个回答

1
阅读COM“Windows脚本宿主对象模型”而不是参考资料对我很有帮助。在此输入图像描述

我有完全相同的问题,但这是在系统崩溃后重新安装Windows后开始出现的。 重新安装后,Visual Studio 2017在构建期间尝试访问COM对象时给了我相同的E_ACCESSDENIED错误,但如果我以管理员身份启动VS2017,则可以正常工作。 我不理解你在这里提供的解决方案,我尝试过再次删除和添加COM类型库引用,但在普通(非管理员)模式下仍然无法访问它。 - rboy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接