我曾尝试在发布时从 Visual Studio 内部构建后编译应用程序,但总是失败。如果我不尝试预编译,应用程序构建良好。我也尝试过从命令行编译它,但它也没有工作。
VS和命令行中的错误消息或多或少相同,这是命令行错误:web.config(31):错误ASPCONFIG:使用注册为允许定义='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 网络服务器上。我不确定这是否会导致此错误,我正在使用的命令行命令如下所示:
aspnet_compiler -v /AppName -p "C:\Users\xxx\Documents\Visual Studio 2010\Projects\AppName" "\\WebServerName\Inetpub\wwwroot\AppNameFolder"