私のクライアントは、Web アプリケーションのソース コードを紛失したため、小さな変更を加えたいと考えていました。RedGate の .Net Reflector を使用して、DLL からソース コードを抽出しました。生成されたクラス ファイルを使用して、必要な場所を変更し、DLL を再生成することができました。アプリケーションが使用するアプリケーション プールはバージョン 1.1 で "デフォルト" であり、アプリケーションも .Net Framework 1.1 を使用して作成されたと思いますが、Visual Studio 2008 を使用してプロジェクトを開き、新しい DLL を作成しました。また、古い DLL にはいくつかのバージョン番号がありました。私の質問は次のとおりです。アプリケーションは既にオンラインになっているため、新しい DLL を置き換えると問題が発生しますか? アプリケーションを長時間オフラインにしておくことはできないため、DLL を置き換えるために与えられた時間枠は非常に短いため、すべてがうまくいくことを確認したいと考えています。私は正しい方法に従っていますか?または、同じフレームワーク (1.1) を使用して新しい DLL を作成する必要がありますか? アプリケーションを問題なくスムーズに実行するには、他に何をする必要がありますか。この下手な質問で申し訳ありませんが、この種のシナリオにいるのはこれが初めてです。ありがとう。
2063 次
3 に答える
2
DLL を再構築する際には、次の 2 つのことを確認する必要があります。
[1] プロジェクトのターゲット フレームワークは、デプロイするフレームワークと同じです。現在対象のフレームワークのバージョンは、プロジェクト -> プロパティから確認できます。ライブ サーバーに 1.1 しかない場合は、プロジェクト ファイルにターゲットを設定する必要があります。
[2] すべての依存関係が満たされていることを確認する必要があります。ソリューション エクスプローラーの参照からすべての依存関係を確認できます。
于 2013-04-02T14:57:50.777 に答える
1
この DLL を参照するものが他にある場合は、それを逆コンパイル/再コンパイルする必要があり、ソースを分解すると公開鍵が変更される可能性が高くなります。コピーするだけで安全です。これにより、アプリ プールの再起動がトリガーされます。
于 2013-04-02T14:56:21.653 に答える
0
発生する問題を制限するには、1.1 フレームワークに対してアセンブリをビルドする必要があります。次に、ダウン ウィンドウ中に:
- アプリケーション プールを停止します。
- アセンブリを交換します。
- アプリケーション プールを再起動します。
于 2013-04-02T14:55:58.010 に答える