2010-12-17 4 views
1

.NET Webアプリケーション上の異なるページでVB .NETとC#を実行できますか?.NET Webアプリケーション上の異なるページでVB .NETとC#を実行できますか?

レガシーVB .NETプロジェクトを取得しても、ページを追加する必要がある場合は、C#で記述することは可能ですか、プロジェクトごとに1つの言語しか使用できませんか?

+0

既存のコードをある言語から別の言語に移植する優れたコンバーターがいくつかあります。それは可能でしょうか?誰もが1つをお勧めしたいですか? – Bill

答えて

0

複数の機能を使用することはできますが、それほど簡単ではありません。必要な手間がかかりません。結局のところ、あなたはC#で行うことができるほとんどすべてのVBで行うことができます、構文だけ醜いです。

C#とVBをアセンブリごとに、同じソリューション内でミックスしてお互いに参照するのは簡単ですが、まったく新しいモジュールを追加する必要がある場合は、C#で記述して参照できます既存のVBアプリケーションから削除します。

1

web.configファイル

<configuration> 
<system.web> 
    <compilation> 
     <codeSubDirectories> 
      <add directoryName="VB_Code"/> 
      <add directoryName="CS_Code"/> 
     </codeSubDirectories> 
    </compilation> 
</system.web> 

に次の行を追加します。あなたがサポートする言語ごとにApp_Codeフォルダーにサブフォルダを作成します。例については :CS_Codeフォルダ

+2

これは、古いスタイルのWebサイト(App_Codeフォルダ)でのみ動作し、完全にプリコンパイルされたアプリケーション(aspxとコードビハインドdllのみをデプロイする)では機能しません。 – tdammers

+0

あなたはそれが古いスタイルの場合にのみ有効です –

1

でVB_Codeフォルダと場所C#コードで

/App_Code/VB_Code 

/にApp_Code/CS_Code

置きますVB.NETのコードをこれは、ASP.NETプロジェクトである場合はい、できますが、ページやマスターページなどのASP.NET要素に対してのみ可能です。メインディレクティブ(<%@Pageなど)のLanguage属性をC#に変更するだけで、存在しない場合は追加する必要があります。これは、各ページがASP.NETサービスによって別のアセンブリにコンパイルされるために機能します。

コードビハインドファイルでは、同じアセンブリ言語でプリコンパイルされているため、これらの言語を切り替えることはできません。

私はあなたと一緒にこのプロジェクトに取り組んでいた場合は、私はこのような何かをやってためにあなたをLARTために傾いているはずだ...

+0

あなたは正しいです。残念ながら、現時点で唯一の現実的な選択肢です! – kieran

関連する問題