17

大規模な ASP (クラシック ASP) アプリケーションがあり、今後のリリースに向けて .NET に変換したいと考えています。時代遅れの ASP を使い続けるのは無意味であり、ゼロから書き直したくありません (Joel Spolsky がその理由を説明しています)。

ASP から ASP.NET に自動的に変換する方法はありますか?

4

4 に答える 4

20

従来の ASP と ASP.NET の間で変換するツールがあったとしても、あまり良い結果は得られません。2 つの環境は根本的に異なっているだけです。Google ですばやく検索すると、いくつかの結果が表示されます。そのほとんどは、「インドの社員にやってもらいます」というものです。

今のところ、既存の ASP コードには触れないことをお勧めします。ランタイム環境は、近い将来 Microsoft によってサポートされるため、移行を急ぐ必要はありません。代わりに、ASP.NET の新しい機能に取り組み始めましょう。このようにすれば、従来の概念にとらわれず、フレームワーク (ASP.NET MVC などを含む) によって提供される新しいクールさをどのような方法でも使用できます。フィット。

もちろん、新しいコードは既存の ASP 環境で動作する必要があります。ASP と ASP.NET の間でセッション状態を共有することは、最初の要件の 1 つになる可能性が高いですが、すぐにそのような問題がさらに増えるでしょう。

このような問題の「正しい」解決策は、現在のコードと要件に完全に依存します。ASP コードで使用するために .NET コードを COM オブジェクトにラップできる場合もあれば、部分的な移植/移行が解決策になる場合もあります。 .

ただし、平均して、「2 つの世界」のアプローチは完全に実行可能であり、レガシー コードを気にすることなくエキサイティングな新機能を開発できます。


元の回答への 2009 年 12 月の追加: ASP Classic Compilerに出会いました。これは、従来の ASP ページを ASP.NET 上でネイティブに実行されるコードに変換する、積極的に管理されている VBscript コンパイラです。ASP.NET MVC カスタム ViewEngine として使用する機能など、いくつかの優れた機能を備えているため、ベータ版の状態にもかかわらず、注目する価値があると思われます...

于 2008-09-21T14:17:10.317 に答える
12

ええと、私は以前、すべての Web アプリケーションがクラシック ASP である会社で働いていました。.NET への移行が決定されたとき、168 個 (!) の Web アプリをこの新しいフレームワークに変換する方法を見つける必要がありました。これを行うために、当時利用可能なすべてのツールを試しましたが、すべて失敗しました。

最善の方法は、新しい Web サーバーを構築し、そこから最初から開始することです。これにより、新旧の統合により、アップグレードが迅速に行われ、問題なく動作することが保証されます。どの機能と外観を保持し、どれを変更するかを選択できます。古い ASP ファイル/サイトを NET プラットフォームにアップグレードするための自動ツールで時間を無駄にしないでください。これまでのところ、適切に機能したものはありません。

さらに、バックエンドにデータベースがある場合、Web アプリからデータベースへの接続で問題が発生します。

于 2010-12-23T14:07:22.420 に答える
10

Microsoft は MSDN に、 Migrating ASP Pages to ASP.NETに関する記事を掲載しています。基本的に、コンピューター/サーバーに .net をインストールし、一度に 1 ページずつ変換するように指示されます。ASP と ASP.NET は共存できるため、各ページの名前を「aspx」に変更できます。ただし、セッション状態とアプリケーション状態は ASP ページと ASP.NET ページの間で共有されないことに注意してください (この問題の回避策については、@mdb の回答を参照してください)。

The ASP to ASP.NET Migration Assistantもありますが、プロジェクト/プログラムがまだアクティブかどうかはわかりません。このページからダウンロードして試すことができます。

http://www.asp.net/downloads/archived/migration-assistants/asp-to-aspnet/

于 2008-09-21T14:15:42.143 に答える