Announcement

Collapse
No announcement yet.

System.Type.GetType - Nur mit lokaler Kopie?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • System.Type.GetType - Nur mit lokaler Kopie?

    Hallo zusammen,

    ich möchte System.Type.GetType verwenden um dynamisch die Typen von Klassen und später Instanzen davon zu erzeugen. Das Ergebnis soll dann später beispielsweise in VB etwa so aussehen:

    Code:
    Dim csb As DbConnectionStringBuilder = _
    System.Activator.CreateInstance(System.Type.GetType("System.Data.OleDb.OleDbConnectionStringBuilder, System.Data", true, true))
    Wenn ich das aber ausführe ohne eine lokale Kopie von System.Data.dll mit in das Programmverzeichnis zu packen bekomme ich folgenden fehler:

    Die Datei oder Assembly "System.Data" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.
    Wenn ich mir aber ansehe welche Assemblies im Kontext der Anwendung geladen sind ist die System.Data da drin. Ich habe mir die einfach mal alle mit Hilfe des folgenden Statements ausgeben lassen:

    Code:
    For Each a As System.Reflection.Assembly In AppDomain.CurrentDomain.GetAssemblies() : Console.WriteLine(a.ToString()) : Next
    und das ist das Ergebnis:

    mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Microsoft.VisualStudio.HostingProcess.Utilities, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Microsoft.VisualStudio.HostingProcess.Utilities.Sy nc, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    Microsoft.VisualStudio.Debugger.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    vshost, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    mscorlib.resources, Version=2.0.0.0, Culture=de, PublicKeyToken=b77a5c561934e089
    System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    System.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    TestProjekt, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
    Mach ich da was falsch oder gibt es ne andere gute Möglichkeit?

    Danke schonmal.

    Gruß

    JenneB

  • #2
    Ha, hab das Problem gelöst.

    Anscheind weiß der Compiler nicht welche System.Data er nehmen soll, da ich .NET 2.0, 3.0 und 3.5 installier habe. Wenn ich also beim Aufruf von von System.Type.GetType die kompletten Assembylinformationen mit gebe läufts:

    System.Data.OleDb.OleDbConnectionStringBuilder, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

    Comment


    • #3
      Vielen Dank dass Du auch die Lösung dazugeschrieben hast sehr löblich!

      Comment

      Working...
      X