13

これは、PowerShell と Visual Studio でよくある問題のようですが、ケースと解決策は大きく異なるようです。同様の質問がいくつか見られましたが、私の問題に対する有効な解決策はまだ見つかりませんでした。

エラーメッセージに問題が存在します

ファイルまたはアセンブリ 'file:///C:\users\jenstmar\Desktop\WinSCP.dll' またはその依存関係の 1 つを読み込めませんでした。操作はサポートされていません。(HRESULT からの例外: 0x80131515)

.dll はWinSCPインストールと同じフォルダーにあるはずなので、ファイルの場所が無効です。この場所は、権利またはその欠如がないことを確認するために変更され、使用が制限されました。

問題の原因となるスクリプト行は次のようになります。

# Load WinSCP .NET assembly
[Reflection.Assembly]::LoadFrom("C:\users\jenstmar\Desktop\WinSCP.dll") | Out-Null

このエラーは、PowerShell ISEと PS ISE (x86) の両方で発生します。Windows Enterprise 64 ビット環境でローカル管理者として PowerShell V3.0 を実行しています。この問題を解決するにはどうすればよいですか?

4

5 に答える 5

16

ファイルは、その起源 ( NTFS ストリームに保存されている) が原因で、ロードがブロックされている可能性があります。プロパティをチェックして、小さなブロック解除ボタンが点灯しているかどうかを確認します。ブロックを解除すると、おそらくロードされます...

于 2012-12-10T16:11:51.813 に答える
9

この場合の解決策: すべてを削除して、もう一度ダウンロードします。最初のファイルでブロックを解除しましたが、助けはありませんでした。これが内部マシンにあったことをうれしく思います。

于 2012-12-13T09:18:40.290 に答える
2
Import-Module : Could not load file or assembly 'file:/// *dll path*' or one of 
its dependencies. An attempt was made to load a program with an incorrect format.
At *script path*.ps1:68 char:2
+     Import-Module *module path*
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Import-Module], BadImageFormatException
    + FullyQualifiedErrorId : System.BadImageFormatException,Microsoft.PowerShell.Commands.ImportModuleCommand

上記のエラーが表示される場合は、Windows PowerShell ISE を 32 ビット モード (Windows PowerShell ISE(x86)) で実行することに問題がある可能性があります。アプリケーションWindows PowerShell ISEを実行する必要があります。

このアプリケーション (Windows PowerShell ISE) は 64 ビット モードです。power shell コマンドを実行すると、問題なく動作しました。

さまざまなタイプのソリューションでこれを修正しようとしていますが、うまくいきません。32 モードで実行している場合は、64 ビットに切り替えて試してください。

于 2016-10-25T09:46:42.540 に答える
0

ILDASM または dotPeek で WinSCP.dll の依存関係を確認し、WinSCP.dll をロードする前にそれらの依存関係をロードします。問題は、PowerShell.exe (または powershell_ise.exe) フュージョン ロード コンテキストで実行していて、WinSCP.dll のアセンブリがこれら 2 つの exe のベース ディレクトリで見つからないことです。そのため、必要な DLL が見つからないため、CLR ローダーがチョークする前に依存アセンブリを読み込む必要があります。見つからないアセンブリを特定するためにサポートが必要な場合は、fuslogvw.exe ツールを確認してください。

ところで、PowerShell v2 以降ではAdd-Type -Path <path>、[SRA]::LoadFrom(...) の代わりに使用する必要があります。

于 2012-12-10T16:34:44.290 に答える