misc.log

日常茶飯事とお仕事と

ASP.NETプロジェクトのApp_Codeフォルダー

自社内で誰もこのあたりきちんと新人とかに説明してないだろうから、ちょっとメモっておきます。ASP.NETの開発プロジェクトなどは近年結構変わってきているので、下記の情報はあくまで「ASP.NET Webサイト」タイプの古い開発プロジェクトの話です。最新のASP.NET Core Webアプリなどがどうなっているかは把握できてません。ごめんなさい。

App_Codeフォルダーについて

Visual Studioなどで作れるASP.NETでのソースやWebサイト用のフォルダ構成で登場する「App_Code」フォルダーですが、簡単に言うならば「Webページとセットでない、単体のC#VB.NETのソースファイルを置くところ」です。通常のASP.NETプロジェクトでのソースは、拡張子が「ASPX」のファイルと、それの対となる「ASPX.CS」や「ASPX.VB」のファイルがペアで作成されます。しかしロジックを作るうえで、データや処理を格納するクラスなどを追加する場合にはASPXファイルはいりません。そこで、App_Codeフォルダーにそうした「単独で作成されたクラスのソースファイル」を置いておくと、サイト内のどこのページからも参照できるクラスとして、実行時にビルドされて利用可能になる。というわけですね。

詳細は下記のページに書いてあります(英語ですが)。

docs.microsoft.com

App_Codeフォルダーに入れられるソースファイルのプログラミング言語ですが、C#VB.NETのどちらかになります。基本的に混在はできませんが、Web.configにサブフォルダー単位で言語指定を行えば不可能ではありません(ただ、開発チームやソースの管理体制上、統一したほうが運営しやすいとおもいます……。余程の理由がなければ片方に寄せたほうがいいでしょう)。

独習ASP.NET Webフォーム 第6版

独習ASP.NET Webフォーム 第6版

C#フレームワーク ASP.NET Core3入門

C#フレームワーク ASP.NET Core3入門