【发布时间】:2011-02-04 08:27:25
【问题描述】:
我已经使用 Visual Studio 2008 和目标框架版本 2.0 构建了一个 ASP.NET Web 应用程序。我创建了一个 Web 设置项目来在多个目标操作系统上部署它。
对于设置项目,我编写了一个在“OnCommitting”事件上执行的自定义操作。此自定义操作添加通配符脚本映射,用于通过 ASP.NET 引擎路由所有请求。
FileMon 提示在以下目录中创建文件时出错:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
尝试此操作的用户帐户是 IWAM_。
问题是运行此设置后,如果我尝试访问新安装站点上的任何 url,我收到错误消息:
“/myapp”应用程序中的服务器错误。
访问 IIS 元数据库失败。
说明:在执行当前 Web 请求期间发生了未处理的异常。请查看堆栈跟踪以了解有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Web.Hosting.HostingEnvironmentException:无法访问 IIS 元数据库。
用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库的读取权限(例如 IIS://servername/W3SVC)。有关修改元数据库权限的信息,请参阅http://support.microsoft.com/?kbid=267904。
源错误:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
在谷歌搜索 2 天后,我已经尝试了这些选项:
- 运行 aspnet_regiis -i
- 运行 aspnet_regiis -ga \ASPNET
- 运行 aspnet_regiis -u 然后运行 aspnet_regiis -i
到目前为止,选项 3 对我有用,但是,我想避免使用它,因为我的 Web 应用程序将部署在可能已经在 IIS 上托管其他一些应用程序的机器上,我不想打扰这些应用程序。
谁能建议我解决这个问题?
顺便说一句。我当前的系统在 Win XP SP3 和 IIS 5.1 上安装了 .Net framework 3.5 和 VS2008。
谢谢,
瓦米普
【问题讨论】:
标签: asp.net custom-action web-deployment-project iis-5