切换到Windows 8需要以管理员身份运行Visual Studio以生成dll

本文关键字:Visual 运行 Studio dll 身份 管理员 Windows | 更新日期: 2023-09-27 18:36:02

我有一个生成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。 还有其他方法吗?

切换到Windows 8需要以管理员身份运行Visual Studio以生成dll

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

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

相关文章: