0

ソースコードが欠落しているWebアプリケーションがいくつかあります。プロジェクトはdllにコンパイルされ、IISでホストされます。

いくつか質問があります。

  • dllファイルからプロジェクトを再作成するための最良の方法は何ですか?

  • データベースサーバーの変更を計画しており、データベース接続文字列はGlobal.asax(I mean the public class Global : HttpApplication)で指定されています。このグローバルをサブクラス化して接続文字列をオーバーライドする方法はありますか?はいの場合、IISに新しいdllを参照させるにはどうすればよいですか?

提案ありがとうございます!!

4

2 に答える 2

1

最初の部分では、 Reflector / ILSpy / dotPeekなどの逆コンパイラツールを使用して、ILコードをDLLからC#などの高級言語に変換します。ただし、ツールはコメント、ローカル変数名、およびプロジェクト構造を取り戻すことはできません。コードをファイルとプロジェクト構造に手動で整理する必要があります。aspxファイルから、分離コードクラスを把握してから、クラスのソースを正しい名前の分離コードファイルにリンクする必要があります。たとえば、default.aspxが、ファイルdefault.aspxを継承すると言っている場合です。 MyApp.Default.xsを作成し、そのクラスのソースコードをその中に入れます。

Global2番目の部分では、 Global.asaxから派生した新しいクラスを作成し、そのクラスを使用するように変更できます。新しいクラスを含むアセンブリをbinフォルダーinheritsに配置し、新しいクラスのタイプ名を指すようにasaxファイルの句を上書きする必要があります。とにかく、現在のグローバルクラスのコードを(上記のツールを使用して)検査して、サブクラス化によって接続文字列をオーバーライドできるかどうかを確認する必要があります。

于 2011-05-18T08:15:57.023 に答える
0
  1. おそらく、dllをコードにリバースエンジニアリングするために利用できる最良のツールは.NETReflectorです。残念ながら、最新バージョンは無料ではなくなりましたが、お金の価値があります。

  2. ソースコードをすでにリバースエンジニアリングできるのであれば、これがまだ当てはまるかどうかは正確にはわかりません。ただし、ベストプラクティスとして、接続文字列をプロジェクトの外部のweb.configに移動することをお勧めします。このようにして、コードを変更せずに将来変更を加えることができます。

于 2011-05-18T08:11:25.727 に答える