Asp.net mvc 3 使用注册为allowDefinition=';机器应用';超出应用程序级别。

Asp.net mvc 3 使用注册为allowDefinition=';机器应用';超出应用程序级别。,asp.net-mvc-3,web-config,forms-authentication,Asp.net Mvc 3,Web Config,Forms Authentication,嗨 我在web.config中添加了forms身份验证标记,之后,当我尝试在本地启动MVC应用程序时,出现了这个错误。请提供帮助,所有其他帖子都是关于部署应用程序的,这个错误很奇怪-我也有同样的错误-但很容易修复 只需删除obj文件夹的内容并重新生成即可。塔达 (我在地图上找到了答案) :)当obj文件夹中存在web项目输出(模板化的web.config或临时发布文件)时,会出现此问题。使用的ASP.NET编译器不够聪明,无法忽略obj文件夹中的内容,因此它会抛出错误 另一个修复方法是在调用之前


我在web.config中添加了forms身份验证标记,之后,当我尝试在本地启动MVC应用程序时,出现了这个错误。请提供帮助,所有其他帖子都是关于部署应用程序的,这个错误很奇怪-我也有同样的错误-但很容易修复

只需删除obj文件夹的内容并重新生成即可。塔达

(我在地图上找到了答案)


:)

当obj文件夹中存在web项目输出(模板化的web.config或临时发布文件)时,会出现此问题。使用的ASP.NET编译器不够聪明,无法忽略obj文件夹中的内容,因此它会抛出错误

另一个修复方法是在调用之前取消发布输出。打开您的.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.configs以及\obj下的所有PackageMP文件夹