你好
我在 web.config 中添加了表单身份验证标签,之后当我尝试在本地启动 MVC 应用程序时出现此错误。请任何帮助,所有其他帖子都是关于部署应用程序和这个错误
你好
我在 web.config 中添加了表单身份验证标签,之后当我尝试在本地启动 MVC 应用程序时出现此错误。请任何帮助,所有其他帖子都是关于部署应用程序和这个错误
当 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.config,以及 \obj 下的所有 PackageTmp 文件夹。