2017-08-31 6 views
-1

Windows環境からLinuxに移行したい古いasp.netがあります。旧式のASP.netアプリケーション(System.Web)を構築する

アプリケーションには、古いWeb.config、dllの束、App_codeフォルダがあります。

これを正しく実行するには正しい方向に向けることができますか?

私がこれまで試したどのような

dotnet publish -c Release -o /var/www/blah 

しかし、これは文句は:

app_code/Rewriter.cs(3,14): error CS0234: The type or namespace name 'Web' does not exist in the namespace 'System' (are you missing an assembly reference? 

私はSystem.Webのは本当にもう存在しないことをお読みください。

私の質問は、この古いスタイルのアプリケーションをビルドして展開するいくつかの種類のビルド環境を参照できますか?それとも、私はすべてのコードを移植する必要がありますか?

+0

WebformsサイトをASP.NETコアに移行することはできません – hardkoded

+0

実際にはmono.netを使用してlinuxに移行することができました。 –

答えて

1

ビジネスロジックをクラスに移行して再利用できます。クラス(またはクラスライブラリ)に移動できるコードが多くなればなるほど、簡単になります。その後、新しいASP.NETコアアプリケーションを作成し、UIビットを再構築します。

ファイルの背後にあるコードでイベントメソッドを過度に利用したため、たくさんのスパゲッティがある場合は最も難しい部分です。あなたは多くのリファクタリングで終わるかもしれませんが、その考え方はそのままで、ASPXページの外にある実際のコードをそのまま使用することです。あなたのイベントハンドラは、よりこの

public void THisButton_Click(e as EventArgs) 
{ 
    OtherClass.Method(); 
} 

のように見えたら、それははるかに簡単にあなたがASP.NETコア用にUIを設計したいと思うかであるMVCに移行することができます。

これが理にかなっていない場合は、私に知らせてください。役立つ情報を教えていただけますか?

関連する問題