在Sitecore Rocks 1.4.0.0中通过Commandy预览Sitecore 7.0解决方案中的项目时,该命令会启动浏览器并按预期导航到/sitecore/shell/WebService/browse.aspx,但出现以下错误:
编译器错误消息:CS0117:'Sitecore.Web.Authentication.TicketManager'不包含'IsCurrentTicketValid'的定义
具体来说,它正在抱怨browse.aspx中的第8行,它是Sitecore Rocks的一部分。
如何才能使此功能正常运行?我可以从Sitecore内容管理器或桌面中正确预览,但Sitecore Rocks的目的是让我不必在Visual Studio和Content Manager / Desktop之间来回切换。
答案 0 :(得分:1)
browse.aspx第8行和第9行的条件会使Sitecore 7.0中的Sitecore.Kernel.dll中不存在调用;它包含.aspx文件中的内联代码,因此您可以直接对其进行编辑,以使其正常工作:
if (Sitecore.Context.User.Identity.IsAuthenticated &&
Sitecore.Web.Authentication.TicketManager.IsCurrentTicketValid() &&
!Sitecore.Security.Authentication.AuthenticationHelper.IsAuthenticationTicketExpired())
{
Sitecore.Web.WebUtil.Redirect(redirect);
return;
}
变为
if (Sitecore.Context.User.Identity.IsAuthenticated)
{
Sitecore.Web.WebUtil.Redirect(redirect);
return;
}
......然后你又开始跑步了。