2011-12-23 10 views
8

C#4.0を使用して作成された比較的小さなASP.NETプロジェクトがあります。ASP.NETアプリケーションをMono/Apacheに移植しました。

誰もがこのようなプロジェクトLinux上のウェブサーバの下で実行する上でのポートに管理していた場合、私は、私が表示されますを見つけることができる最新の情報のみASP.Net 2.0のサポートを持つように思っていた

からConfiguring and running Mono ASP.NET 3.5 (AJAX.NET) on Linux computers

プロジェクトが使用しますデータアクセス層全体のLINQ-to-SQLがあり、Mono自体がLINQをサポートしていることを知っています。

開始前に完全に時間が無駄であるかどうかを知りたいだけです。

ありがとうございました。

+4

Apache/Monoでアセンブリを実行しようとしましたか?あなたができる最善のことは、Mono Migration Analyzer http://mono-framework.com/MoMAを壊すか使用するかを試してみることです。 –

+0

かなりうまくいく可能性があります。上記のように試してみてください – IanNorton

答えて

7

モノを使用してSuse LinuxでASP.NET 4.0アプリケーションを実行します。モノでの私の経験は、それがうまくいくということです。私のアプリは〜15.000 LOCで、mongo-csharp-driver、lucene.net、elmah、munq、sphorium.webdavserverのようなサードパーティのコンポーネントを使用しています。

開発中に互換性の問題はほとんどありませんでした。これは簡単にうまくいきました(例えば、sphoriumはレジストリにアクセスします;これは明らかにLinux/Monoでは異なる)。私は、Visual StudioがMonoDevelopとMonoプラグインなしのVisual Studio instaedで開発を始めました.Visual Studioは優れたIDEで、Linux上でWebアプリケーションをコンパイルしてApacheにデプロイするときに機能します。 Windows上のNET)。

I've written a short blogpost on getting started with the setup

3

これは間違いなく時間の無駄ではありません。私が働いている会社は、VB.NetアプリケーションをC#に変換して、モノラルで実行できるようにしました。このアプリケーションには200k以上のコード行があります。 Amazon EC2でUbuntu/Apache/Mono/Postgresqlを実行しています。

唯一の懸念は、データベースにあることです。 MS SQLの場合、MySQLまたはPostgresqlに移行する必要があります。ここでも、300+テーブルと900のストアドプロシージャでこれを行いました。それは長期的には価値のあるものです。

私は、Ubuntuのようなものを実行しているローカル環境をセットアップするのが最善の方法だと思います。最新のバージョンのmonoをリポジトリからhttp://badgerports.org/に入手することもできますし、最新バージョンを構築スクリプトとしてhereに保存することもできます。 monodevelopをインストールし、モノでLinuxにコードをビルドしてください。経験から、C#のmonoは.netフレームワークの完全な実装です。あなたのアプリケーションにモノでまだ実装されていないものがあれば、私は驚いています。

Answer here私はapacheの下であなたのアプリケーションのための簡単な設定を示しています。私はこの設定をUbuntu上で動作するモノラルアプリケーションに使用します。

+0

"私の持つ唯一の懸念は、あなたのデータベースです。" - 私たちのデータベースサーバーはMS SQLですが、このプロジェクトを実行したいマシンとは別のマシンです。 Apacheの下でASP.NETプロジェクトを使用することはできませんが、DBサーバー上のデータベースにMSSQL用のSQLデータプロバイダを使用して接続する必要がありますか? –

+1

はい、これを行うことができます。 – startupsmith

+0

@lanks、ORM(もしあれば)を使ったのですか?前もって感謝します。 – greenoldman

関連する問題