1

我已经答应为客户查看一个旧的 DotNetNuke 安装,目的是进行一些(希望是微小的)更改。安装相当旧 - 我相信版本 3.0.013 - 生产副本针对 SQL Server 2000、Windows 2003 和 .Net 1.1 运行。

由于生产服务器是实时的并且被大量使用,我们首先需要一个开发安装。我试图在我的本地服务器上安装一个副本 - Windows 2003、SQL Server 2005、.Net 2.0,虽然通过一些调整我可以成功地让它显示该站点,但我无法登录,甚至无法访问登录模块(即只是输入空白用户名和密码试图生成“必须输入用户名”类型错误)而没有收到错误“对象引用未设置为对象的实例”

我花了一些时间试图解决这个错误,但没有成功,尽管我之前没有使用过这个包。

所以我的问题是

有没有人设法使用这种配置运行 DotNetNuke 3.0.x(或者我是否需要设置一个带有 SQL 2000 和 .Net 1.0 的机器才能运行)?

有什么建议我应该从哪里开始寻找这个错误,或者以前有没有人遇到过类似的事情?

编辑:最终退缩并安装在带有 Win2003/SQL 2000/Net 1.1 的旧网络服务器上,并且在相同的安装中运行良好。所以我想答案是否定的,它不能直接开箱即用。

4

1 回答 1

2

我的感觉是,您在上述环境中运行应该没有任何问题。但仔细研究错误本身将有助于我们证明这一点。

如果错误仅在您导航到登录模块时发生,则可能是加载身份验证提供程序时出现问题。找出答案的最佳方法是查看 DNN 事件日志并查看完整的错误消息。

因为您无法登录访问事件日志,所以您可能应该只查看在收到错误时在数据库中创建的行。该表称为 EventLog,在解析错误消息时可能会有些麻烦,因为所有详细信息都以 XML 格式存储在数据库中。

通常,将站点从一个环境移动到另一个环境时,您只需要做几件事:

  1. 确保您可以连接到数据库
  2. 设置文件系统权限

听起来您已经有了数据库连接,因为您可以加载该站点。

但是,您可能需要仔细检查(只是重新应用)相关机器上网站根目录的文件系统权限。确保网站的身份(通常是 ASP.NET 机器帐户或网络服务)对根网站目录具有“修改”权限。由于缺少权限,网站可能无法加载特定程序集。

于 2009-03-14T23:54:22.967 回答