PowerShell-Laufzeit-Ausnahme - "konnte nicht geladen, Datei oder assembly"
Dies scheint ein häufiges problem zu sein in PowerShell und Visual Studio, noch Fällen und Lösungen scheinen sehr stark variieren. Allerdings sehen einige ähnliche Fragen, ich habe nicht eine funktionierende Lösung für mein Problem noch.
Besteht das problem in der Fehlermeldung
Konnte nicht geladen, Datei oder assembly
'file:///C:\users\jenstmar\Desktop\WinSCP.dll' o r einer seiner
Abhängigkeiten. Vorgang wird nicht unterstützt. (Ausnahme von HRESULT:
0x80131515)
Den Speicherort der Datei ungültig ist, als die .die dll sollte sich im selben Ordner wie die WinSCP installation. Dieser Speicherort wurde geändert, um zu überprüfen, dass keine Rechte oder deren fehlen, beschränkt mich, es zu benutzen.
Die script-Zeile, die das problem verursacht sieht wie folgt aus:
# Load WinSCP .NET assembly
[Reflection.Assembly]::LoadFrom("C:\users\jenstmar\Desktop\WinSCP.dll") | Out-Null
Dieser Fehler kommt in beiden PowerShell ISE - und PS-ISE(x86). Ich ausführen von PowerShell V3.0 in einer Windows Enterprise 64-bit-Umgebung als lokaler administrator an. Wie kann ich dieses problem beheben?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann die Datei gesperrt werden, geladen werden, wegen seiner Herkunft (gespeichert in NTFS-streams). Die Eigenschaften überprüfen und sehen, ob die kleinen entsperren-Taste leuchtet. Sobald Sie die Sperre vielleicht wird es zu laden...
Lösung in diesem Fall:
Entfernen, und laden Sie es alle wieder.
Ich auch freigegeben, es auf die erste Datei, mit nicht mehr zu helfen. Froh, das war auf einer internen Maschine.
Die folgenden arbeitete für mich (Stack Overflow Frage Add-Type-Last Montage von Netzwerk-UNC-Freigabe Fehler 0x80131515).
In Dateien:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe.config C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe.config
Wenn Sie die obige Fehlermeldung zu sehen ist, könnte es das Problem der Ausführung der Windows PowerShell-ISE " im 32-bit Modus(Windows PowerShell ISE(x86)). Sie haben, um die Anwendung auszuführen Windows PowerShell ISE.
Diese Anwendung ("Windows PowerShell ISE") ist in 64-bit-Modus. Wenn ich ausgeführt, der power shell Befehl, seine arbeiten gut für mich.
Ich habe versucht, dies zu beheben, mit verschiedenen Lösungen, aber es nicht für mich gearbeitet. Wenn Sie läuft ist es 32-Modus, schalten Sie es auf 64 bit und es versuchen.
Würde ich schauen WinSCP.dll Abhängigkeiten in ILDASM oder dotPeek und dann laden Sie diese Abhängigkeiten, bevor Sie geladen WinSCP.dll. Das problem ist, dass Sie mit PowerShell.exe (oder powershell_ise.exe) fusion-load-Kontext und die Assemblys, die WinSCP.dll nicht unter diese beiden exe ' s base dirs. So müssen Sie zum laden der abhängigen Assemblys, bevor die CLR loader drosseln, weil Sie nicht finden können, eine erforderliche DLL. Wenn Sie Hilfe benötigen, herauszufinden, welche assembly nicht gefunden werden kann, überprüfen Sie heraus die fuslogvw.exe tool.
BTW, als der PowerShell v2, die Sie verwenden sollten
Add-Type -Path <path>
statt [S. R. A]::LoadFrom(...).