実際、私は数年前に、同じプロジェクト内でVBとC#のWebフォームを混在させることにした同僚からプロジェクトを継承しました。それはうまくいきましたが、維持するのは面白くありません。
新しいコードはC#クラスにする必要があると判断し、それらを機能させるには、web.configのコンパイル部分にサブノードを追加する必要がありました。
<codeSubDirectories>
<add directoryName="VB"/>
<add directoryName="CS"/>
</codeSubDirectories>
すべてのVBコードは、VBと呼ばれるApp_Codeのサブフォルダーに入れられ、C#コードはCSサブフォルダーに入れられます。これにより、2つの.dllファイルが生成されます。機能しますが、コードは「codeSubDirectories」にリストされているのと同じ順序でコンパイルされるため、C#とVBの両方で使用する場合、インターフェイスはVBフォルダーにある必要があります。
私はVBとC#コンパイラへの参照の両方を持っています
<system.codedom>
<compilers>
プロジェクトは現在フレームワーク3.5に更新されており、引き続き機能します(ただし、メンテナンスするのは面白くありません。)