Ich versuche, eine bestimmte Anwendung zu erweitern. Ich verwende eine DLL, die mit dieser Anwendung geliefert wird, um die Funktionalität zu erweitern. Ich benutze Visual Studio 2010 Express Edition. Ich habe einen Verweis auf die DLL-Bibliothek hinzugefügt. In den refrence Eigenschaften ist die Option "Copy local" deaktiviert. (Ausgegraut) Warum ist das so? Ich möchte, dass Visual Studio die DLL in meinen Release-Ordner kopiert. Wenn dies nicht möglich ist, gibt es einen anderen Weg, die DLL zu bündeln?Visual Studio kopieren Dll Refrences zu Ausgabe Ordner
Antwort
Ihr Beitrag zu Hans Antwort deutet dies auf eine COM-Baugruppe ist, und dass Sie 2010
Visual Studio verwenden Dies bedeutet, dass die Montagereferenz wahrscheinlich mit den „Embed Interop-Typen“ Einstellung auf true gesetzt wurde zugegeben. Dies hat den Effekt, dass Sie die COM-Assembly in Ihre Binärdatei einbinden, sodass Sie sie nicht mehr bereitstellen müssen. Der folgende Link bietet eine detailliertere Erklärung
Wenn Sie es einsetzen wollen, obwohl dann tun müssen, um die folgende
- Klicken Sie auf den Verweis auf der Registerkarte Referenzen
- Drücken Sie F4, um das Eigenschaftenraster anzuzeigen
- Legen Sie "Interop-Typen einbetten" auf False fest (dies wird ungray C opy Lokal)
- Set "Copy Local" auf true
Es hängt davon ab, welche Art von DLL es ist. Wenn es sich um einen COM-Server handelt, ist Local kopieren deaktiviert, wenn Sie einen PIA für diesen COM-Server registriert haben. Wenn es sich um eine reguläre .NET-Assembly handelt, ist sie deaktiviert, wenn sie im GAC registriert ist.
Beheben Sie das Problem, indem Sie regasm/u verwenden, um die Registrierung von PIA oder gacutil/u aufzuheben, um sie aus dem GAC zu entfernen. Beachten Sie, dass Sie dies möglicherweise nicht tun möchten, wenn diese DLL erfordert, dass das Installationsprogramm auf dem Zielcomputer ausgeführt wird. Was wahrscheinlich ist. Sprechen Sie mit dem Hersteller oder Autor der Komponente, um herauszufinden, was Sie tun sollten.
- 1. Vermeiden Sie Kopieren von 3rd-Party-DLL in Debug-Ordner
- 2. Visual Studio ipch Ordner
- 3. Hinzufügen Verweis DLL Problem in Visual Studio
- 4. Visual Studio Abkürzung Ausgabe
- 5. Visual Studio - gibt leeren Bildschirm als Ausgabe
- 6. Visual Studio Solution Projektreferenz oder Dll-Referenz
- 7. Wiederherstellen Visual Studio reagieren-Server-Ordner
- 8. von Visual Studio 2012 und EmguCV Ausgabe
- 9. Get Dll enthalten in Visual Studio
- 10. Visual Studio 2003 vs. Visual Studio 2005
- 11. DLL von GAC in Visual Studio referenzieren
- 12. einen MFC-DLL in Visual Studio
- 13. Visual Studio Hinzufügen von DLL als Referenzfehler
- 14. Verknüpfen einer DLL in Visual Studio
- 15. Verwenden einer DLL in Visual Studio C++
- 16. Erstellen einer DLL in Visual Studio 2005
- 17. Visual Studio wird Debug-DLL nicht erstellen
- 18. C# Visual Studio-Lösung in einer DLL
- 19. Visual Studio-Post-Build-Ereignis - Kopieren in relativen Verzeichnis-Speicherort
- 20. Hinzufügen von benutzerdefinierten Steuerelementen dll zu Visual Studio ToolBox
- 21. Global Assembly Cache-Ordner in Setup-Projekten in Visual Studio
- 22. Kann ich dll in exe (in Visual Studio) einschließen?
- 23. Visual Studio 6.0 zu Visual Studio 2008
- 24. Stop Visual Studio Datenbank-MDF in den Bin kopieren
- 25. Visual Studio 2010 "Referenz hinzufügen" kopiert dll in bin-Verzeichnis?
- 26. Crystal Reports-DLL-Referenzen von GAC in Bin-Ordner hinzufügen oder kopieren
- 27. Visual Studio 2008-Ordner-Browser-Dialog
- 28. Visual Studio noch für alte dll suchen nach der Umbenennung
- 29. Visual Studio - Exe-Datei installieren Sie alle verwendeten DLL-Dateien
- 30. Visual Studio 2008 sperrt DLL in bin-Ordner und lässt es nicht los
Es ist eine COM-Baugruppe (ich sehe es unter der Registerkarte COM in Visual Studio aufgeführt refrence refrence Dialog hinzufügen, hinzufügen). Wie finde ich den Weg der Versammlung, die ich regasm zur Verfügung stellen muss? Der Pfad, der daneben in Visual Studio angezeigt wird, ist Projekt \ obj \ x86 \ Release \ Interop.lbname.dll. Vorausgesetzt, dieser Pfad wird erfolgreich ausgeführt, aber ich habe immer noch das gleiche Problem. – user434541
Schwer zu verstehen. project \ obj \ x86 \ release ist kein gültiger Pfad für eine Interop-Assembly. Dies sollte auch nicht im Dialogfeld Verweis hinzufügen angezeigt werden. Und Sie verwenden regasm.exe nicht auf einem nativen COM-Server, nur auf einem, der in .NET implementiert wurde. In diesem Fall sollten Sie es so verwenden, wie es ist, nicht als COM-Server. Sprich mit deinem Händler. –