Asp.net 程序部署问题——在应用程序级别之外使用注册为 allowDefinition='MachineToApplicati错误信息

错误信息:

==========================================================================================================

 “/cofcodc/Admin”应用程序中的服务器错误。

配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 分析器错误信息: 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。 源错误:

行 26: 以标识传入的用户。 行 27: --> 行 28: <authentication mode="Windows"/>行 29: <!-- 行 30: 如果在执行请求的过程中出现未处理的错误,

源文件:D:COFCOCofcoDCVSProjectsCofco.OACofco.OA.Web.Adminmasterpageweb.config   行:28 版本信息: Microsoft .NET Framework 版本:2.0.50727.3603; ASP.NET 版本:2.0.50727.3614

==========================================================================================================

解决办法有三个:1. 最方便的,修改附属(非启动项目)Asp.net网站或web应用程序的web.config文件,比如我的解决方案中有两个asp.net网站 web1和web2。web1作为启动项目。那么我就要修改web2的 web.config文件。打开web2的web.config文件,删除<configSections>节和<authentication mode="Windows" />节。注意,是删除,不是注释,注释是不起作用的。然后就可以用F5调试了。这时候web2就作为web1的附属项目。 2. 高手用的,因为删除那两个节的后果,我目前还不清楚。但肯定是有负作用的。那就尽量不要删除,错误提示说需要把非启动项目在IIS中配置成虚拟目录,就照办好了。修改启动项目的属性,“启动选项,把使用默认web服务器,改成本地IIS,路径填http://localhost”,非启动项目就改成http://localhost/xxx/。如果项目全是Asp.net网站,那直接F5不管错误提示也可以,如果项目有web应用程序,这个时候F5是不行的。只好放弃调试。反正错误提示已经不影响正常编写代码和最终发布项目。 3. 根本解决办法,重新考虑项目的架构,我当初遇到这个问题是因为需要每个非启动项目都可以独立运行,方便将来配置二级域名,其实实现这种目的有很多种方法,比如建多个解决方案,发布的时候发布到一个目录里。主要是在项目架构上多作思考,尽量避免同一个解决方案下存在多个asp.net网站或web应用程序的问题

我只有一个web.config文件,可也出现上图的错,我的解决方法是,删除<configSections>节和<authentication mode="Windows" />节就OK了。 ======================================================================================================== 解决方法:

在IIS将该目录做成应用程序:

打开IIS —> 默认Web站点 —> 找到该目录右键打开属性页 —> 目录(或虚拟目录)卡 —> 在下半部分“应用程序设置”处点第一项的“创建”,把该目录做成应用程序。 ======================================================================================================== 原因是你的项目里面有两个 web.config 配置文件导致的。 只保留根目录下面的那个就OK拉。

 

关注公众号,提出您的问题,我们会解决您的问题哟!

公众号:sxmljs

原文地址:https://www.cnblogs.com/zhao365845726/p/4357546.html