未解析成员Csla.Security.UnauthenticatedPrincipal,Csla,异常
在调试 CSLA.Net 开源框架提供的 Project Tracker 项目 — 其中的 Web 项目 PTWebForms时,出现如下异常信息: [SerializationException: 未解析成员“Csla.Security.UnauthenticatedPrincipal,Csla, Version=3.8.2.0, Culture=neutral, PublicKeyToken=93be5fdc093e4c30”的类型。]
原因是:PTWebForms 项目运行在 development web server(Cassini)环境中,而不是IIS 环境中。由于ASP.NET Development Web Server的限制,不支持解析引用的程序集。 在使用定制的principal 对象时,必须运行Web Application在 IIS 环境下,这是ASP.NET Development Web Server 的限制,影响到所有的定制 principal 项目。
原文帖子:http://forums.lhotka.net/forums/t/157.aspx
解决这一问题的步骤:
1. 设置 PTWebForms 项目的Web Server属性,如下图所示。
2. 同时,还需要在 IIS Server上添加对应的应用程序目录(右键IIS默认网站--添加应用程序),指向PTWebForms 项目的文件夹。
3. 如果在Windows 7 环境下运行 VS 2010 – Web 项目 PTWebForms,还会出现权限的问题 — 无法在Web 服务器上启动调试,如下图所示。
以 Admin 帐号运行 VS 2010,然后再次运行 PTWebForms 项目,就正常了。
4 HTTP 错误 404.2 - Not Found。由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置
单击IIS根目录--在右侧找到“ISAPI 和 CGI 限制”。在上面双击,找到对应的项目,设置为允许