我已将SiteFinity(C#)应用从网站转换为WebApplicationProject。这一切都很棒。除了
我以前在App_Code中有一个名为MaterialsModule的类,它继承自基类WebModule。
问题:SiteFinity不会再自动查看此类
我已经尝试在类中添加一个名称空间并将其添加到此处的代码中(这是我希望此MaterialModule页面显示的页面)
http://localhost/fmwebapp1/Sitefinity/Admin/Modules.aspx
public class MaterialsModule : WebModule
{
public MaterialsModule()
{
}
public override IList<Telerik.Web.IToolboxItem> Controls
{
get
{
return new List<IToolboxItem>(
new ToolboxItem[]
{
new CmsToolboxItem("~/Custom/Modules/Materials/Frontend/Controls/MaterialsList.ascx", "Materials", "Materials List", "Displays list of all materials")
});
}
}
public override string Description
{
get { return "This is the Materials Module"; }
}
public override string Name
{
get { return "Materials"; }
}
public override string Title
{
get { return "Materials"; }
}
public override System.Web.UI.Control CreateControlPanel(System.Web.UI.TemplateControl parent)
{
return new MaterialsControlPanel();
}
答案 0 :(得分:0)
您可以尝试删除page.aspx.designer.vb
文件,然后右键单击page.aspx
并选择“转换为Web应用程序”以重新创建设计器文件。当然,这假设问题出在该文件中。
答案 1 :(得分:0)
在网站项目中,〜/ bin文件夹中的所有程序集都会自动添加到GAC中。
在Web应用程序项目中,您需要明确定义GAC中包含的程序集。
-
我相信您可以通过将Sitefinity的程序集引用添加到项目中来解决此问题。
要做到这一点:
然后应将WebModule识别为已定义的类。
-
好消息,Sitefinity 4.0(今年晚些时候)默认支持Web应用程序项目。