【问题标题】:Switching to Windows 8 requires running Visual Studio as administrator for generating dll切换到 Windows 8 需要以管理员身份运行 Visual Studio 以生成 dll
【发布时间】:2013-10-18 16:02:49
【问题描述】:

我有一个生成 DLL 的 Visual Studio 2010 C# 类库项目。从 Windows 7 切换到 Windows 8 后,我开始收到错误:

无法注册程序集“C:\Users\Almeesoft User\Dropbox\code\hysysintegration\HysysMembraneExtension\Almeesoft.HysysMembraneExtension\bin\Release\Almeesoft.HysysMembraneExtension.dll” - 访问被拒绝。请确保您以管理员身份运行该应用程序。拒绝访问注册表项“HKEY_CLASSES_ROOT\CLSID{0C1B5FDB-7C22-3FF9-B6B0-645C2E72D934}”

更改 UAC 和文件夹权限没有帮助。唯一有帮助的是以管理员身份运行 Visual Studio。还有其他方法吗?

【问题讨论】:

  • 我在 w7 上也必须这样做,可能 UAC 才是真正的区别

标签: c# visual-studio-2010 dll windows-8


【解决方案1】:

这对于 Windows 8 来说并不新鲜,允许 MSBuild 注册 [ComVisible] 程序集需要自 Vista 以来的提升。因为它写入受 UAC 保护的注册表项。也许您在以管理员权限启动 VS 之前有一个桌面快捷方式。这就是它所需要的。

您可以通过取消勾选“注册 COM 互操作”选项并从提升的命令提示符运行 Regasm.exe 手动完成。使用 /codebase 和 /tlb 选项。如果将 [Guid] 属性应用于互操作接口和类,则只需执行一次。这很危险,您应该在发布程序集之前再次删除它们并重新构建,否则您将面临 DLL Hell 的风险。

【讨论】:

  • "在启动 VS 之前,您可能是一个桌面快捷方式,具有管理员权限。"对不起,我不明白写的是什么
猜你喜欢
  • 1970-01-01
  • 2021-08-10
  • 1970-01-01
  • 2013-12-14
  • 2012-08-28
  • 1970-01-01
  • 2013-12-24
  • 1970-01-01
  • 2011-05-07
相关资源
最近更新 更多