2011-05-07 7 views
8

C#2.0で書かれたサードパーティの.dllは強く型付けする必要があり、ソースコードにアクセスすることはできません。 .dllを逆アセンブルし、強く名前が付けられたキーファイルで再アセンブリする方法について、いくつかの記事を見つけました。強く名前を付ける第三者2.0 .dllとVS 2010 Ilasm.exe

問題VS2010を2.0 .dll(私たちのアプリケーションが現在使っているバージョン)ではなく.NET 4.0 .dllとして再コンパイルしているということがあります。プロジェクトに「新しい」dllを含めることはできません。これは、ランタイムエラーが発生するためです。「このアセンブリは、現在ロードされているランタイムよりも新しいランタイムによって構築され、ロードできません。私がdllに署名しなければ、私は "アセンブリは強く型付けされていません。"エラー。

VS2010 ilasm.exeを使用して2.0のフレームワークでこの.dllを再コンパイルする方法はありますか?

答えて

13

あなたはおそらくのVisual Studio 2010のコマンドプロンプトを使用しています。 「ilasm.exe」と入力すると、C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ ilasm.exeを実行する環境がセットアップされます。間違ったバージョン、v2.0.50727 \ ilasm.exeが必要です。フルネームを入力します。または、vc \ bin \ vsvarsall.batをコピーして編集します。

1

いいえ、2.0にコンパイルするために4.0 ilasmを使用することはできません。 2.0のフレームワークディレクトリからilasm.exeを使用する必要があります。例えばC:\WINDOWS\Microsoft.NET\Framework\v2.0.50727です。すべてのあなたは、このために必要があるの

注ランタイムではなく、SDKまたはVS 2005/2008

関連する問題