usa united today the registertovoteusa register online google eeuu america visual-studio-2010 typelib

visual-studio-2010 - united - vote usa



Visual Studio 2010-TYPE_E_REGISTRYACCESS (4)

Al configurar el Register For Com interop , he descubierto que debe ejecutarse como administrador.

Sin el Administrador tratando de compilar obtuve errores como:

No se puede registrar el ensamblaje "C: / TFS / Project / Src / ProjectAddin / bin / Debug / ProjectAddin.dll": acceso denegado. Por favor, asegúrese de que está ejecutando la aplicación como administrador. Se deniega el acceso a la clave de registro ''HKEY_CLASSES_ROOT / CLSID {3A6192EA-3C9C-39EB-99A3-3DBFF8CA118F}''.

La clave de registro anterior no existía, así que la creé, luego, al intentar compilar, obtuve:

No se puede registrar la biblioteca de tipos "C: / TFS / Project / Src / ProjectAddin / bin / Debug / ProjectAddin.tlb". Error al acceder al registro OLE. (Excepción de HRESULT: 0x8002801C (TYPE_E_REGISTRYACCESS))

Solución

Desactive el registro para interoperabilidad COM y el error desaparece.

Shift + Clic derecho en Visual Studio y abrir como Administrador, abra el proyecto. Marque Register para Com interop y compile con éxito.

Estoy creando mi solución VS2010 y en la ventana de resultados hay un error solo para un proyecto.

En la pestaña de error:

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

En la pestaña de salida:

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 ==========

¿algunas ideas?


Dado que, en su proyecto, ha habilitado el registro para la configuración de interoperabilidad COM , lo mismo se está ejecutando en el momento de la compilación. Esta configuración necesita privilegios de administrador que no están disponibles en Visual Studio a menos que inicie Visual Studio como administrador, explícitamente.

Puede seguir los pasos disponibles en el siguiente enlace para iniciar Visual Studio como administrador y luego intentar construir su proyecto nuevamente.

Cómo ejecutar Visual Studio como administrador por defecto


Descubrí que alguien cambió una propiedad en el csproj.

Para resolver el error:

  • Sólo tienes que hacer clic derecho en el proyecto,
  • elige la pestaña Construir
  • ir a la sección de salida
  • desmarque Registrarse para interoperabilidad COM

Para mí, este problema comenzó cuando me mudé a una máquina Win7 x64. Tengo otros miembros del equipo sin x64, así que asumo que este es el problema. Necesito interoperabilidad COM, así que no puedo simplemente apagarlo. Pude resolver el problema al desmarcar el Registro para interoperabilidad COM (en propiedades del proyecto> Crear página), y luego agregar un evento posterior a la compilación para realizar el registro COM:

"%Windir%/Microsoft.NET/Framework/v2.0.50727/regasm" /codebase "$(TargetPath)"