我从不再与公司合作的开发人员那里继承了这个应用程序。 在我获得最新版本并运行应用程序后,我收到以下错误:
描述:处理为此请求提供服务所需的配置文件时发生错误。请查看下面的具体错误详细信息并相应地修改配置文件。
分析程序错误消息:在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的。此错误可能是由于虚拟目录未在IIS中配置为应用程序。
来源错误:
Line 170: <location path="winLogin.aspx">
Line 171: <system.web>
Line 172: <authentication mode="Windows" />
Line 173: <authorization>
Line 174: <allow users="*" />
该错误提到了IIS,但由于这是一个VS 2005项目,我使用的是默认的Web浏览器。
有关如何解决的任何想法?
答案 0 :(得分:1)
我不相信你可以定义
<authentication mode="Windows" />
在<location>
内部,因为这是一个应用程序级别的设置。换句话说,您不能对同一应用程序中的不同网页使用不同的身份验证模式。您需要在配置文件的主<system.web>
部分中定义它。
错误消息只是指一个可能的错误来源。在<location>
标记内或应用程序根目录的子文件夹中的子web.config
文件中使用任何应用程序级设置也会生成此错误消息。
如果您确实需要多种身份验证方法,则可以将子文件夹创建为虚拟应用程序并在其中进行定义,例如/winLogin/Default.aspx
由/winLogin/web.config
中的配置设置控制的页面。
你确定不能吗? 我刚刚查看了此应用程序正常运行的QA网站,Web.config包含以下条目:
<location path="winLogin.aspx">
<system.web>
<authentication mode="Windows" />
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
我遇到的问题是我的开发/本地计算机
答案 1 :(得分:0)
我建议你查看你的申请文件夹。
应用程序根文件夹中有应用程序的备份副本。
或者您在应用程序中的某处有一个重复的 Web.config 文件。
您应该做的另一件事是转到 C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files 并删除与您的应用程序名称相关的所有文件夹。如果它是您的开发框,那么您可以删除此文件夹下的所有内容。
希望这能解决问题。