MichaTo 10 Geschrieben 19. März 2012 Melden Teilen Geschrieben 19. März 2012 Moin liebe Scripting Gemeinde, ich brauche schon wieder eure Hilfe. Folgendes Szenario: Habe dieses Script in Visual C# Express 2010 in eine *.dll kompiliert und möchte nun die Library in der Powershell laden um auf die Properties zugreifen zu können. Habe folgendes Probiert: [Reflection.Assembly]::LoadFile("D:\Rect.dll") [Reflection.Assembly]::Load("D:\Rect.dll") Leider hat beides nicht zum Erfolg geführt, sondern vielmehr zu folgenden Fehlermeldungen: PS -> [Reflection.Assembly]::LoadFile("D:\Rect.dll") Ausnahme beim Aufrufen von "LoadFile" mit 1 Argument(en): "Die Assembly wird von einer Laufzeit erstellt, die aktuelle r als die derzeit geladene Laufzeit ist, und kann nicht geladen werden. (Ausnahme von HRESULT: 0x8013101B)" Bei Zeile:1 Zeichen:32 + [Reflection.Assembly]::LoadFile <<<< ("D:\Rect.dll") + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException PS -> [Reflection.Assembly]::Load("D:\Rect.dll") Ausnahme beim Aufrufen von "Load" mit 1 Argument(en): "Die Datei oder Assembly "D:\\Rect.dll" oder eine Abhängigkeit d avon wurde nicht gefunden. Der angegebene Assemblyname oder die Codebasis ist ungültig. (Ausnahme von HRESULT: 0x801310 47)" Bei Zeile:1 Zeichen:28 + [Reflection.Assembly]::Load <<<< ("D:\Rect.dll") + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException Wer weiß Rat? Gruß Micha Zitieren Link zu diesem Kommentar
Dukel 455 Geschrieben 19. März 2012 Melden Teilen Geschrieben 19. März 2012 Hast du die Bibliothek mit einer aktuellen Dot.Net Version (4 oder 4.5) kompiliert? Zitieren Link zu diesem Kommentar
MichaTo 10 Geschrieben 19. März 2012 Autor Melden Teilen Geschrieben 19. März 2012 Zielframework: ".NET Framework 4 Client Profile" oder sollte ich ".NET Framework 4" auswählen? Gruß Micha Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 19. März 2012 Melden Teilen Geschrieben 19. März 2012 Hallo, powershell V2 kennt ohne Modifikation nur .Net Version 2. Wenn möglich, kompilier deine dll nur mit .net 2.0 Wenn es unbedingt .Net 4.0 sein muss, kannst du mal hier schauen PowerShell My Powershell - PowerShellPraxis.de blub Zitieren Link zu diesem Kommentar
MichaTo 10 Geschrieben 19. März 2012 Autor Melden Teilen Geschrieben 19. März 2012 blub: Vielen Vielen Dank!!! Made my Day! Habs mit Framework 2.0 kompiliert und [Reflection.Assembly]::LoadFile("D:\Rect.dll") hat zum Erfolg geführt. Noch eine Frage zum instantiieren: $obj = New-Object Rect.Rect Das erste "Rect" bezieht sich auf das Assembly (Rect.dll) und das zweite "Rect" bezieht sich auf den Namen der Klasse. Ist dies korrekt? Gruß Micha Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.