DLL in Resourcen einbinden
Hi,
ich habe mich letztens gefragt ob ich nicht eine *.dll Datei in die Resourcen einbinden könnte, und einen Verweis darauf hinzufügen könnte, um sie nicht extern weitergeben zu müssen.
Und so gehts:
1.Schritt
Fügt wie gewohnt ein Verweis auf die DLL hinzu.
2.Schritt
Bindet die dll in die Resourcen ein. ACHTUNG: Den Namen so lassen, wie er ist!
3.Schritt
Geht im Projektmappen-Explorer "My Project", Wechselt in die Registerkarte "Anwendung", scrollt runter und klickt auf "Anwendungsereignisse anzeigen"
4. Schritt
Schreibt in der erscheinenden Klasse folgenden Code:
Einfach für NamederDLL den Namen eurer DLL eingeben (ohne ".dll")
Danke an den freundlichen Hinweis von Viktor S.: Dieser Code funktioniert nur mit .NET-DLL's, nicht mit DLL's die mit C++ vorkompiliert wurden usw.
Achtung: Vor dem einkompilieren beachtet bitte die Lizenzbedingungen der jeweiligen DLL. Bei manchen DLL's ist das einkompilieren nicht gestattet. Fragt ggf. beim Autor nach!
Hi,
ich habe mich letztens gefragt ob ich nicht eine *.dll Datei in die Resourcen einbinden könnte, und einen Verweis darauf hinzufügen könnte, um sie nicht extern weitergeben zu müssen.
Und so gehts:
1.Schritt
Fügt wie gewohnt ein Verweis auf die DLL hinzu.
2.Schritt
Bindet die dll in die Resourcen ein. ACHTUNG: Den Namen so lassen, wie er ist!
3.Schritt
Geht im Projektmappen-Explorer "My Project", Wechselt in die Registerkarte "Anwendung", scrollt runter und klickt auf "Anwendungsereignisse anzeigen"
4. Schritt
Schreibt in der erscheinenden Klasse folgenden Code:
VB.NET-Quellcode
- Private WithEvents Domaene As AppDomain = AppDomain.CurrentDomain
- Private Function Domaene_AssemblyResolve(ByVal sender As Object, ByVal args As System.ResolveEventArgs) As System.Reflection.Assembly Handles Domaene.AssemblyResolve
- If args.Name.Contains("NamederDLL") Then
- Return System.Reflection.Assembly.Load(My.Resources.NamederDLL)
- Else
- Return Nothing
- End If
- End Function
Einfach für NamederDLL den Namen eurer DLL eingeben (ohne ".dll")
Danke an den freundlichen Hinweis von Viktor S.: Dieser Code funktioniert nur mit .NET-DLL's, nicht mit DLL's die mit C++ vorkompiliert wurden usw.
Achtung: Vor dem einkompilieren beachtet bitte die Lizenzbedingungen der jeweiligen DLL. Bei manchen DLL's ist das einkompilieren nicht gestattet. Fragt ggf. beim Autor nach!
--- Zurzeit inaktiv ---
Dieser Beitrag wurde bereits 13 mal editiert, zuletzt von „Live“ () aus folgendem Grund: VB.NET Tag gesetzt, da zu VB2003, VB2005, VB2008 und VB2010 kompatibel.