visual-studio-2010 - Visual Studio 2010-TYPE_E_REGISTRYACCESS

标签 visual-studio-2010 typelib

我正在构建我的VS2010解决方案,并且在输出窗口中仅一个项目就有一个错误。

在错误标签中:

Error   161 Cannot register type library "D:\Sites\Website\MyPortal.Website.Controllers\bin\Debug\MyPortal.Website.Controllers.tlb". Error accessing the OLE registry. (Exception from HRESULT: 0x8002801C (TYPE_E_REGISTRYACCESS)) MyPortal.Website.Controllers


在输出标签中:

Compile complete -- 0 errors, 153 warnings
  MyPortal.Website.Controllers -> D:\Sites\Website\MyPortal.Website.Controllers\bin\Debug\MyPortal.Website.Controllers.dll
c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3341,9): warning MSB3214: "D:\Sites\Website\MyPortal.Website.Controllers\bin\Debug\MyPortal.Website.Controllers.dll" does not contain any types that can be registered for COM Interop.
c:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3341,9): error MSB3213: Cannot register type library "D:\Sites\Website\MyPortal.Website.Controllers\bin\Debug\MyPortal.Website.Controllers.tlb". Error accessing the OLE registry. (Exception from HRESULT: 0x8002801C (TYPE_E_REGISTRYACCESS))
========== Rebuild All: 8 succeeded, 1 failed, 0 skipped ==========


有任何想法吗?

最佳答案

设置Register For Com interop时,我发现您确实需要以管理员身份运行。

没有管理员尝试编译,我会收到类似以下的错误:


无法注册程序集“ C:\ TFS \ Project \ Src \ ProjectAddin \ bin \ Debug
\ ProjectAddin.dll”-访问被拒绝。请确保您正在运行
该应用程序为管理员。访问注册表项
'HKEY_CLASSES_ROOT \ CLSID {3A6192EA-3C9C-39EB-99A3-3DBFF8CA118F}'是
否认。


上面的注册表项不存在,所以我创建了它,然后尝试进行编译:


无法注册类型库
“ C:\ TFS \ Project \ Src \ ProjectAddin \ bin \ Debug \ ProjectAddin.tlb”。错误
访问OLE注册表。 (来自HRESULT的异常:0x8002801C
(TYPE_E_REGISTRYACCESS))




关闭注册COM互操作,错误消失。

Shift +右键单击Visual Studio,然后以管理员身份打开,打开项目。勾选注册Com互操作,编译成功。

关于visual-studio-2010 - Visual Studio 2010-TYPE_E_REGISTRYACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5107840/

相关文章:

visual-studio-2010 - Ninject ToFactory 适用于 Resharper 单元测试,但不适用于 NCrunch

c# - 部署后无法加载文件或程序集

visual-studio-2010 - 我在哪里可以找到 Visual Studio 2010 Premium 中的 "Convert to Web Application"选项

c# - 如何用 C# 或 C++ 读取 COM TypeLib?

c# - .Net DLL 引用另一个 DLL

c# - 如何从 C# 读取非托管代码的 TLB(类型库)?

c++ - VC++ 6.0 从 COM DLL 生成的 .TLH 结果出错

c# - 知道3点是否构成等边三角形

c# - XAML 如何在派生的 UserControl 类中拥有 StaticResource

德尔福和COM : TLB and maintenance issues