Laden...

CefSharp aus Unterordner benutzen

Erstellt von Backslash vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.709 Views
B
Backslash Themenstarter:in
11 Beiträge seit 2015
vor 7 Jahren
CefSharp aus Unterordner benutzen

Hey Leute,

ich hoffe das ich hier im richtigen Subforum bin, falls nicht wäre es super wenn ein Mod den Thread an die richtige Stelle schieben könnte.
Momentan bin ich ein wenig mit einer Idee am rumbasteln. Um das ganze umzusetzen habe ich CefSharp meinem Program hinzugefügt. Als solches klappt auch alles prima, das einzige Problem ist das laden der Datein selbst. Nachdem ich CefSharp über NuGet hinzugefügt habe, sind alle Datein die benötigt werden einfach ins Rootverzeichnis des Projekts ausgeschüttet worden. Ich würde das ganze Projekt gerne etwas "sauberer" gestalten und suche deshalb nach einer Möglichkeit alles was von CefSharp benötigt wird in ein Unterverzeichnis zu schieben und von dort aus zu laden.
Ich habe eine ganze Menge Zeit investiert auf StackOverflow, hier und mit Hilfe von Google nach einer Lösung zu suchen, habe aber außer einiger weniger Beiträge in denen Leute das selbe Problem haben nicht viel dazu gefunden. Einige scheinen das Problem gelößt zu haben, aber außer dem im Internet üblichen "bei mir läufts" wird dazu natürlich nichts verraten. Das ganze sollte am Ende ungefähr so aussehen:

Hauptordner

  • cefsharp
    -- cefsharp kram (dll, exe usw.)
  • sonstiges
  • projekt.exe

Die Grundumsetzung von CefSharp läuft hiermit:

using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;

namespace ceftest
{
    public partial class Form1 : Form
    {
        public ChromiumWebBrowser browser;

        public Form1()
        {
            InitializeComponent();
            InitBrowser();
        }

        public void InitBrowser()
        {
            Cef.Initialize(new CefSettings());
            browser = new ChromiumWebBrowser("www.google.de");
            this.Controls.Add(browser);
            browser.Dock = DockStyle.Fill;
        }
    }
}

Gibt es hier im Forum vielleicht jemanden der sich schonmal ein wenig damit beschäftigt hat Sachen wie CefSharp or ähnliches in sein Projekt einzubauen und diese dann aus Unterordnern zu laden?
Falls ja, würde ich mich über ein paar Tips wie ich als Anfänger an die Sache rangehen könnte freuen.

D
985 Beiträge seit 2014
vor 7 Jahren

Dieses Verhalten ist absolut normal.

Was versprichst du dir davon (ausser mehr Probleme)?

B
Backslash Themenstarter:in
11 Beiträge seit 2015
vor 7 Jahren

Das es ein normales Verhalten ist hinterfrage ich ja auch gar nicht, das ist mir durchaus bewusst.
Was mich interessieren würde ist ob es auch anders möglich ist.
Was ich mir davon verspreche ist einerseits eine saubere Ordnerstruktur, hauptsächlich aber einfach das Interesse daran etwas zu lernen und herauszufinden ob und wie verschiedene Sachen möglich sind.

P
1.090 Beiträge seit 2011
vor 7 Jahren

Ich möchte mich das Sir Rufo anschließen.

Wirklich sinn macht es nicht und man sollte es lassen.

Wenn du es trotzdem machen möchtes schau mal hier.
How to add folder to assembly search path at runtime in .NET?

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern

S
145 Beiträge seit 2013
vor 7 Jahren

schau dir mal das Ereignis
AppDomain.CurrentDomain.AssemblyResolve
an

so könntest du wenn eine DLL anefordert wird die noch von woanders herladen und dort zurück geben.

sowas ähnliches muss ich bei uns auch machen da wir eine dritt componente haben die in einer älteren und einer neueren Version laufen muss und der dateiname selbst sich zwischen den Versionen nicht geändert hat.