当前位置:编程学习 > C#/ASP.NET >>

.net配置文件问题

我把下载下来的整站.net源码编译后放到空间,打开报错“IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。”我把那源码放到已用空间的一个文件夹测试不知道有没有影响,它的配置文件是:

<?xml version="1.0"?>
<!-- 
    注意: 除了手动编辑此文件以外,您还可以使用 
    Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
     “网站”->“Asp.Net 配置”选项。
    设置和注释的完整列表在 
    machine.config.comments 中,该文件通常位于 
    \Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>
  <appSettings>
   
   
    <add key="conn" value="~/App_Data/access.mdb"/>
  
  </appSettings>
  <connectionStrings>
    <add name="AccessConnStr1" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
      providerName="System.Data.OleDb" />
    <add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\access.mdb;Persist Security Info=True"
      providerName="System.Data.OleDb" />
  </connectionStrings>
<system.web>
<!-- 
            设置 compilation debug="true" 可将调试符号插入
            已编译的页面中。但由于这会 
            影响性能,因此只在开发过程中将此值 
            设置为 true。
        -->
    <customErrors mode="Off"/>

    <compilation debug="true">
</compilation>
<!--
            通过 <authentication> 节可以配置 ASP.NET 用来 
            识别进入用户的
            安全身份验证模式。 
        -->
<authentication mode="Windows"/>
<!--
            如果在执行请求的过程中出现未处理的错误,
            则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
            开发人员通过该节可以配置
            要显示的 html 错误页
            以代替错误堆栈跟踪。

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
    <pages validateRequest="false"></pages>
</system.web>
</configuration>

--------------------编程问答-------------------- 自己顶顶
--------------------编程问答-------------------- 方法1、这个错误是由于没有设置网站的虚拟目录,最有效的解决办法是在IIS中把网站直接配置成站点

方法:在IIS里,点击你源码的虚拟目录,右键-》属性-》应用程序名-》创建
即:web.config要在站点的根目录下
如果是在VS中按F5出现这个错误,要修改一下sln文件中站点的路径。
建议:直接在IIS下配置站点,而不要VS中调试
注意:要在站点的根目录下建立虚拟目录,如果还是解决不了问题 建立站点(或者把站点根目录指向当前程序根目录,即web.config所在目录)

方法2、有时候还是不能用,可以尝试一下这种方法。
先装了.NET 2005 , 后装IIS, 程序在.NET下运行正常, 在IIS里报错:
服务器应用程序不可用
解决方法:
cmd 到 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727Y4ZG
运行 aspnet_regiis.exe空格-i
会显示开始安装 ASP.NET , 安装完毕后问题解决.

方法3、虚拟目录指向web.config所在在文件夹,因为web.config的某些配置节只能出现在网站的虚拟目录跟目录中。移除多余的留一个即可。

方法4、若IIS中没有应用程序名,先创建,若还不行把C:\WINDOWS\Microsoft.NET\work\v2.0.50727\CONFIG\ machine.config中的所有allowDefinition="MachineToApplication"改为allowDefinition="Everywhere",慎用,有时候改了可能会报其他错。

方法5、把你的虚拟目录指向web.config所在在文件夹,因为web.config的某些配置节只能出现在网站的虚拟目录跟目录中。

其他:如果使用iis调试,需要将网站或者虚拟目录设置为 应用程序,在iis属性里可以设置的
缺少引用,最好再检查一下代码。

--------------------编程问答-------------------- 是不是你配置IIS的时候文件指向的目录不对?
  估计就是你把文件放到了另一个文件夹里导致路径不对才造成的。 --------------------编程问答-------------------- 是要创建应用程序,不是虚拟目录,两者外形相似,但实不同。
点文档属性,再创建应用程序按钮。 --------------------编程问答-------------------- 到IIS所在的机器上查看网页,就能看到异常信息了 --------------------编程问答-------------------- 这个跟配置没有关系的

你需要在 IIS 中将当前虚拟目录转换为应用程序
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,