Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 11, 2025 08:55

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mo Sep 03, 2007 12:55 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Hi,

ich bastel mir grad nen test plugin framework um mal zu verstehen wie das mit Assemblies überhaupt richtig funktioniert und vor allem, in welchen pfaden sie liegen müssen.

Ich erstelle eine normale "Windows-Anwendung" anwendung als projekt, welche ich den Kompilierungs Ausgabe pfad auf "..\..\bin" stelle, weil ich dieses "debug/release" kram nicht brauch.

Dazu füge ich noch eine neu erstelle Klassenbibliothek hinzu, welche ich ebenfalls den Ausgabe pfad umstelle auf:
"..\..\bin\plugins"

Nun kompiliere ich dieses Klassenbibliotheken Projekt und schaue mir an, wo meine DLL landet.
Sie landet im richtigen "..\..\bin\plugins" verzeichnis.

Nun füge ich meiner haupt applikation (Windows-Anwendung) diese assembly wo grad frisch erstellt wurde als Verweis hinzu.

In Ordner ansicht sieht das nun so aus:

Code:
  1.  
  2. Projekt XYZ
  3.   bin
  4.     plugins
  5.       testplugin.dll (ok)
  6.       testplugin.pdb (ok)
  7.       testplugin.xml (ok)
  8.  
  9.     Assemblytest.vshost.exe
  10.     Assemblytest.xml
  11.   sources
  12.     Assemblytest
  13.       My Project
  14.         ...
  15.       Assemblytest.vbproj
  16.       Form1.Designer.vb
  17.       Form1.resx
  18.       Form1.vb
  19.     testplugin
  20.       My Project
  21.         ...
  22.       test.vb
  23.       testplugin.vbproj
  24.     Assemblytest.sln
  25.     Assemblytest.slo
  26.  


Bisher noch ok, wenn ich aber nun das Windows-Form anwendungsprojekt kompiliere welche auf die Assembly auf "..\..\bin\testplugin.dll" verweise kompiliere sieht nun meine Ordner struktur so aus:

Code:
  1.  
  2. Projekt XYZ
  3.   bin
  4.     plugins
  5.       testplugin.dll
  6.       testplugin.pdb
  7.       testplugin.xml
  8.      
  9.     Assemblytest.exe (ok)
  10.     Assemblytest.pdb (ok)
  11.     Assemblytest.vshost.exe
  12.     Assemblytest.xml (ok)
  13.    
  14.     testplugin.dll (nicht ok, was sucht die datei hier ?)
  15.     testplugin.pdb (nicht ok, was sucht die datei hier ?)
  16.     testplugin.xml (nicht ok, was sucht die datei hier ?)
  17.   sources
  18.     Assemblytest
  19.       My Project
  20.         ...
  21.       Assemblytest.vbproj
  22.       Form1.Designer.vb
  23.       Form1.resx
  24.       Form1.vb
  25.     testplugin
  26.       My Project
  27.         ...
  28.       test.vb
  29.       testplugin.vbproj
  30.     Assemblytest.sln
  31.     Assemblytest.slo
  32.  


Was ich nun nicht raffe, wieso meine assembly nun in dem Windows-Form Ausgabe pfad kopiert wurde, obwohl ich den Verweis angegeben hab !?


Wenn ich z.b. noch mir auslesen lasse, in welchem "My.Application.Info.Directory" die klassen bibliothek liegt, seh ich auch das diese in "..\..\bin" untergekommen ist.


Sprich er ignoriert einfach die assembly die in "..\..\bin\plugins" liegt... wieso ?

Was mach ich falsch ?

Da muss man doch sicher noch was anpassen oder ?

Achja: Ein Dynamisches laden der assembly geht nicht, da die plugin assembly später wieder selbst auf andere Assemblies verweist welche im gleichen pfad liegen (das aber erst später)

Danke mal fürs lesen,

und durch diese beschreibung mehr oder weniger anleitung, kann man das auch nachvollziehen.

Wärs super wenn wer paar ideen hätte,
thx,

Final


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Sep 03, 2007 18:36 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
Is is easiest to use your plugins from the main exe folder. By default all your referenced dll end up in your exe bin folder by default for that. It is possible to user other paths but not without a lot of trouble. Dynamic loading is possible even when the plugin is referenced with other dll's. Just try to avoid making a plugin loading another plugin. Let the main application handle that. Also in you confugurationpanel you wil find a panel to configure how .net applications behave. Here you can set where assembly are and from what application can load assemblys from what folder. Here you can also allow loading assemblys from an network folder. This configuration can also be done with an .net application.

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 05, 2007 09:59 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Can you explain me this in detail ?

For example screenshots, because i havent found yet where i can setup the assemblies path.

sank yu


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Okt 07, 2007 12:45 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
Do read this: http://www.codeproject.com/dotnet/UB_CAS_NET.asp.

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 16 Queries | GZIP : On ]