1

まあ、ICSharpCode.SharpZipLib.dllファイルの名前を他の名前に変更する際に問題があります。ファイル名を短くしようとしています。プロジェクトでアセンブリを参照しますが、プログラムがライブラリを使用するステートメントに到達したとき。アセンブリまたはファイル 'ICSharpCode.SharpZipLib' が見つからないというエラーが発生します。ファイル名を ICSharpCode.SharpZipLib.dll に戻すと、アプリケーションは正常に動作します。それで、ファイル名を変更する方法はありますか?また、ライセンスに違反せずに変更してもいいですか (商用アプリケーションで使用する予定です)。ありがとう。

4

3 に答える 3

6

ライブラリを逆アセンブルしてから、新しい名前で再アセンブルすることができます。

例えば

1) Visual Studio コマンド プロンプトを開きます。

ildasm /all /out=ICSharpCode.SharpZipLib.il ICSharpCode.SharpZipLib.dll
ilasm /dll /out=shortname.dll ICSharpCode.SharpZipLib.il

2) shortname.dll をプロジェクトに追加します。

于 2014-02-13T12:10:35.503 に答える
4

DLL の名前を変更したため、.Net ランタイムはそれを自動的に見つける方法を知りません。

を呼び出しAssembly.Loadて、名前を変更したファイルを手動でロードできます。
メソッドの実行を開始する前に、JITter はメソッドによって (直接) 使用されるすべての型をロードする必要があるため、アセンブリを使用するメソッドを呼び出す前にこれを行う必要があることに注意してください。

于 2011-01-13T18:48:39.113 に答える
-2

namespaceDLL はコンパイルされているため、ファイルの名前を変更してもファイル内の 'sは変更されません。usingディレクティブを介してエイリアスを割り当てることができます。

using zip = ICSharpCode.SharpZipLib;
于 2011-01-13T18:49:51.870 に答える