0

Library Project は、Win 7 64 ビットで実行されている VS2008 の任意の CPU で正常にコンパイルされます。

ビルド後、ライブラリ dll を登録しようとすると、次のコマンドが失敗します。

PS C:\Windows\Microsoft.NET\Framework64\v2.0.50727> .\installutil C:\path\Project.dll

インストールの初期化中に例外が発生しました:

System.BadImageFormatException: ファイルまたはアセンブリ 'file:///C:\path\Project.dll' またはその依存関係の 1 つを読み込めませんでした。不正な形式のプログラムをロードしようとしました..

プロジェクトを x64 としてコンパイルする必要がありますか? AnyCPU が処理してくれるという印象を受けました。

また、私のライブラリには依存関係があります。また、x64 ビットとしてコンパイルする必要がありますか?

どんな助けでも大歓迎です。

4

1 に答える 1

0

Windows 7 64 ビットでは、Powershell は 32 ビット アプリケーションおよび 64 ビット アプリケーションとして実行されます。

スナップイン プロジェクトでは、C:\Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0\System.Management.Automation.dll にある 32 ビットの System.Management.Automation ライブラリを参照する必要があります。スナップインが 32 ビットの Powershell (x86) で実行するようにコンパイルされている場合。

ただし、既定のライブラリは 64 ビットで、C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0\System.Management.Automation.dll にあります。

32 ビットの C:\Windows\Microsoft.NET\Framework\v2.0.50727\installutil 経由で 64 ビットの Powershell スナップイン コンパイル済みライブラリを登録できない

インストール ユーティリティから例外が発生し、インストールがロールバックされます。

于 2010-06-14T17:23:09.017 に答える