zoukankan      html  css  js  c++  java
  • 网站根目录下没有正确的DNT.config文件 (不同类型错误更新中)

    论坛版本:Discuz!NT SQLServer版本  Discuz!NT 2.0 框架版本:2.0 Windows版本:WIN2003

    由于小弟的在解决问题时有些紧张忘记截图,所以只能说了。

     

    下以为前辈总结

    1.首先确认 没有手动修改过dnt.config?

    用最开始好用的覆盖回来
    2.修改过网站根目录下的权限?

    IIS_WPG 修改 IUSR_XXXX 读取 NETWORK SERVICE 修改 Users 读取/运行
    3.系统目录的权限与安装说明里的一样吗?(.net处理这个config文件时需要生成临时文件在系统的一个目录里)
    参看安装文档

    4.如果权限配置正确但是遇到“网站根目录下没有正确的DNT.config文件!!!”的朋友请尝试将DNT.config文件由

    Code

    修改为 

    Code

     

    如果以上解决不了你的问题请往下看

    找到真正的问题所在了。
    分析步骤:
    1.新建一个test.aspx文件:
    <%@ Page Language="C#" %>
    <%@ Import NameSpace="Discuz.Common" %>
    <%@ Import NameSpace="Discuz.Config" %>
    <%@ Import NameSpace="System.IO" %>
    <script runat="server">
    protected void Page_Load()
    {
    GetRealBaseConfig();
    }
    public static BaseConfigInfo GetRealBaseConfig()
    {
        BaseConfigInfo info = null;
        string filename = null;
        HttpContext current = HttpContext.Current;
        if (current != null)
        {
            filename = current.Server.MapPath("/DNT.config");
        }
        else
        {
            filename = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "DNT.config");
        }
        try
        {
            info = (BaseConfigInfo) SerializationHelper.Load(typeof(BaseConfigInfo), filename);
        }
        catch(Exception ex1)
        {
    throw ex1;
            info = null;
        }
        if (info == null)
        {
            try
            {
                BaseConfigInfoCollection infos = (BaseConfigInfoCollection) SerializationHelper.Load(typeof(BaseConfigInfoCollection), filename);
                foreach (BaseConfigInfo info2 in infos)
                {
                    if (Utils.GetTrueForumPath() == info2.Forumpath)
                    {
                        info = info2;
                        break;
                    }
                }
                if (info == null)
                {
                    BaseConfigInfo info3 = null;
                    foreach (BaseConfigInfo info4 in infos)
                    {
                        if (Utils.GetTrueForumPath().StartsWith(info4.Forumpath) && (info4.Forumpath != "/"))
                        {
                            info = info4;
                            break;
                        }
                        if ("/".Equals(info4.Forumpath))
                        {
                            info3 = info4;
                        }
                    }
                    if (info == null)
                    {
                        info = info3;
                    }
                }
            }
            catch(Exception ex2)
            {
                throw ex2;
                info = null;
            }
        }
        if (info == null)
        {
            throw new Exception("发生错误: 网站根目录下没有正确的DNT.config文件");
        }
        return info;
    }


    </script>

    GetRealBaseConfig方法是在源代码中提出来的,在catch中,修改了错误输出。
    2.重命名web.config:
    目的是不让discuz去自动运行GetRealBaseConfig这个方法。
    3.访问新建的test.aspx文件。
    此时会看到真正的错误提示(在我机器上是如下显示的):

    (1). 无法生成临时类(result=1)。
          error CS2001: 未能找到源文件“C:\WINDOWS\TEMP\sua-vsnm.0.cs”
          error CS2008: 未指定输入 
          找到问题所在了,是因为C:\WINDOWS\TEMP没有写权限。5.在目录C:\WINDOWS\TEMP为iis启动应用程序池的用户赋予写权限,把web.config名字改回来,问题解决。

    以下为小弟自行解决的问题

    (2).分析 EntityName 时出错。 行 3,位置 85

          小弟先使用一个好用的论坛的DNT.config文件覆盖,修改数据库连接字符串,保存后好用,五分钟后或应用程序池回收后错误再次出现,再次使用一个好用的论坛的DNT.config文件覆盖,不修改数据库连接字符串(用当前论坛,连接同类型论坛的数据库),错误解决(目的没有达到),问题出现在数据库连接字符串上,将有错误的DNT.config文件覆盖回来,使用SQL用户名与密码连接数据库正常好用,在服务器上用VS2005打开DNT.config,发现密码处有红色的小波浪线,在波浪线上面的是字符&于是去掉,然后再修改数据库用户名所对应该的密码,再次浏览,问题解决(突然想起以前曾经也有过这种情况也是密码或用户名中存在&去掉后就好用了).

    如果你出现的问题跟我一样,可以试试.

     

    有新的问题出现,小弟会继续更新,如果哪里说的不对,请前辈们指点. 

  • 相关阅读:
    通过Spring使用远程访问和web服务
    mongoDB id 导出,dump,sed,count,mysql import等用法示例
    Spring属性占位符 PropertyPlaceholderConfigurer
    关于Spring管理的类如何创建对象
    spring中反射机制和注入的使用
    Spring 反射注入+全注解注入
    Spring 注解@Component,@Service,@Controller,@Repository
    @Transactional spring 配置事务 注意事项
    Spring 注解Autowired自动注入bean异常解决
    Spring事务的传播行为 @Transactional
  • 原文地址:https://www.cnblogs.com/sa9527/p/1333355.html
Copyright © 2011-2022 走看看