0

你好

我在 web.config 中添加了表单身份验证标签,之后当我尝试在本地启动 MVC 应用程序时出现此错误。请任何帮助,所有其他帖子都是关于部署应用程序和这个错误

4

2 回答 2

1

这是一个奇怪的错误 - 我有同样的错误 - 但很容易修复。

只需删除 obj 文件夹的内容并重建。达达!

(我在下面的帖子中找到了答案)。

:)

于 2012-04-30T09:32:16.663 回答
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(&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 回答