Web サイトを Web アプリに変換したところ、app_code フォルダーの問題に直面しました。
- 私の開発環境では、App_Code フォルダーにコード ファイルがあるため、App_Code.dll アセンブリが生成されます。
- 私の運用環境では、一部のクラスがアセンブリに含まれていません。これは、.csproj で「コンパイル」ではなく「コンテンツ」としてマークされているためです。
私の推測では、Visual Studio / .net の場合、App_Code フォルダー内にコード ファイルがある場合は常に n アセンブリが作成され、Visual Studio はこのフォルダー内に作成するときにクラスのファイルを「コンテンツ」として設定します。
このフォルダーの名前を変更することはできますが、これはソース管理の PITA になります。もう 1 つの解決策は、ファイルの作成時にファイルのプロパティを変更することですが、それでも PITA です。
私は追加すると思った
<Compile Include="App_Code\**\*.cs"/>
アプリでは .csproj が役立ちますが、App_Code のすべてのファイルを使用してソリューションをロードすると、Visual Studio がそれを上書きします (そのため、新しいファイルはコンパイルされません)。これを取り除く方法があるかどうか、私は本当に興味があります.これはハードコードすることはできません!