やあ
web.config にフォーム認証タグを追加した後、ローカルで MVC アプリケーションを起動しようとするとこのエラーが発生しました。他のすべての投稿はアプリの展開とこのエラーに関するものです。
やあ
web.config にフォーム認証タグを追加した後、ローカルで MVC アプリケーションを起動しようとするとこのエラーが発生しました。他のすべての投稿はアプリの展開とこのエラーに関するものです。
この問題は、obj フォルダーに Web プロジェクト出力 (テンプレート化された web.config または一時公開ファイル) がある場合に発生します。使用されている ASP.NET コンパイラは、obj フォルダー内のものを無視するほどスマートではないため、代わりにエラーをスローします。
もう 1 つの修正方法は、<AspNetCompiler> を呼び出す直前にパブリッシュ出力を削除することです。.csproj を開き、これを変更します。
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
これに:
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<ItemGroup>
<ExtraWebConfigs Include="$(BaseIntermediateOutputPath)\**\web.config" />
<ExtraPackageTmp Include="$([System.IO.Directory]::GetDirectories("$(BaseIntermediateOutputPath)", "PackageTmp", System.IO.SearchOption.AllDirectories))" />
</ItemGroup>
<Delete Files="@(ExtraWebConfigs)" />
<RemoveDir Directories="@(ExtraPackageTmp)" />
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
これにより、\obj の下のすべての web.config と、\obj の下のすべての PackageTmp フォルダーが削除されます。