Fehler MSB3216 bei der Registrierung assembly
Hier sind die Fehler details:
In der Fehler-Liste:
Fehler 1 kann Nicht registriert werden-Montage "C:\Users\cboardman\Documents\Visual Studio 2008\Projects\ExcelAddIn1\ExcelAddIn1\bin\Debug\ExcelAddIn1.dll" - Zugriff verweigert. Bitte stellen Sie sicher, dass Sie die Anwendung als administrator. Zugriff auf die registry-Schlüssel " HKEY_CLASSES_ROOT\ExcelAddIn1...' verweigert. C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets 3019 9 ExcelAddIn1
In der Build-Ausgabe:
Ziel UnmanagedRegistration:
C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.Ziele(3019,9): Fehler MSB3216: Nicht registriert-Montage "C:\Users\cboardman\Documents\Visual Studio 2008\Projects\ExcelAddIn1\ExcelAddIn1\bin\Debug\ExcelAddIn1.dll" - Zugriff verweigert. Bitte stellen Sie sicher, dass Sie die Anwendung als administrator. Zugriff auf die registry-Schlüssel " HKEY_CLASSES_ROOT\ExcelAddIn1...' verweigert.
Fertig-Ziel "UnmanagedRegistration" im Projekt "ExcelAddIn1.csproj" -- FAILED.
Ab, was ich online gefunden, muss ich mit Visual Studio als administrator. Dies scheint einen großen hammer einen kleinen Nagel. Gibt es eine Möglichkeit, um dieses (wie eine Weise ausgeführt, nur die Anmeldung als administrator)?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider gibt es keine einfache Möglichkeit, dies zu tun. Standardmäßig Registrierung der Komponenten fügt Einträge hinzu, um die geschützten Schlüssel in der registry (unter HKLM insbesondere). Dies kann nicht getan werden ohne administrative Rechte.
Es technisch möglich ist, das registrieren von COM-Komponenten als non-admin, indem Sie mit dem entsprechenden Schlüssel unter HKCU. Aber es ist nicht eine triviale änderung, und ich glaube nicht, dass die .Net-tools, die registrieren, die Baugruppen können konfiguriert werden, um dies zu tun.
Ich denke, die beste option, um deaktivieren Sie die Registrierung während des build. Haben dann ein eigenes Admin-Fenster öffnen, wo Sie können, registrieren Sie die DLL für debugging-Zwecke. Die re-Registrierung ist nur dann wirklich notwendig, wenn Sie ändern Sie den COM-bezogenen Schnittstellen oder Speicherort der DLL, so dass es nicht getan werden, für alle die F5-Taste.
Schließen Sie Visual Studio, und re-opening der rechten Maustaste anklicken -> als Administrator Ausführen das problem bei mir gelöst.
Ich hatte das gleiche problem mit Visual Studio 2017.
JaredPar Antwort führte mich zu dieser Umsetzung:
Register for COM interop
screenshotrun the post-build event:
wählen Sie:On successful build
screenshotAm Ende des build-sehen Sie eine powershell-Fenster als administrator ausführen (abhängig von Ihren Einstellungen können Sie einen User Account Control (UAC) - popup, in dem Sie bestätigen, bevor es ausgeführt werden).
Hinweis:
; sleep 2
wenn Sie möchten, länger zu schauen, die Ausgabe, die Registrierung zu bestätigen (oder verwenden Sie; pause
statt).