我尝试在发布后从Visual Studio内部构建后编译应用程序,它总是失败。如果我不尝试预编译,应用程序构建正常。我也尝试从命令行编译它,但它也没有工作。
VS和命令行中的错误消息大致相同,这是命令行错误: web.config(31):错误ASPCONFIG:使用注册为allow Definition ='MachineToApplication'的部分超出应用程序级别是错误的。此错误可能是由于虚拟目录未在IIS中配置为应用程序。
我尝试过常见的解决方案,我发现正在搜索此错误:
- 在IIS中创建应用程序(已经完成,在新文件夹上再次尝试,没有区别)
- 删除多余的web.config文件,这没什么区别。
- 删除obj文件夹,这也没有区别。
我现在想知道是不是因为它在web.config中说了第31行:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
然而,删除它也没有任何区别。我正在从安装了VS2010的工作站编译此应用程序,它意味着要使用IIS 6.0和.NET框架的W2k3 SBS Web服务器。我不确定是否会导致此错误,我使用的命令行命令如下所示:
aspnet_compiler -v /AppName -p "C:\Users\xxx\Documents\Visual Studio 2010\Projects\AppName" "\\WebServerName\Inetpub\wwwroot\AppNameFolder"