0

やあ

web.config にフォーム認証タグを追加した後、ローカルで MVC アプリケーションを起動しようとするとこのエラーが発生しました。他のすべての投稿はアプリの展開とこのエラーに関するものです。

4

2 に答える 2

1

この問題は、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(&quot;$(BaseIntermediateOutputPath)&quot;, &quot;PackageTmp&quot;, System.IO.SearchOption.AllDirectories))" />
  </ItemGroup>
  <Delete Files="@(ExtraWebConfigs)" />
  <RemoveDir Directories="@(ExtraPackageTmp)" />
  <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>

これにより、\obj の下のすべての web.config と、\obj の下のすべての PackageTmp フォルダーが削除されます。

于 2013-02-09T19:38:24.327 に答える
1

それは奇妙なものです - 私は同じエラーを持っていました - しかし、修正するのは簡単です。

obj フォルダーの内容を削除して再構築するだけです。タダ!

(次の投稿で答えを見つけました)。

:)

于 2012-04-30T09:32:16.663 に答える