你好
我在web.config中添加了表单身份验证标记,之后当我尝试在本地启动我的MVC应用程序时出现此错误。请任何帮助,所有其他帖子都是关于部署应用程序和此错误
答案 0 :(得分:1)
答案 1 :(得分:1)
当obj文件夹中存在Web项目输出(模板化web.config或临时发布文件)时,会发生此问题。使用的ASP.NET编译器不够智能,无法忽略obj文件夹中的内容,因此会抛出错误。
另一个解决方法是在调用< 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.configs,以及\ obj下的所有PackageTmp文件夹。