Sitefinity WebSite到Web应用程序项目 - app_code乐趣!

时间:2010-08-10 21:29:25

标签: c# asp.net sitefinity

我已将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();
    }

2 个答案:

答案 0 :(得分:0)

您可以尝试删除page.aspx.designer.vb文件,然后右键单击page.aspx并选择“转换为Web应用程序”以重新创建设计器文件。当然,这假设问题出在该文件中。

答案 1 :(得分:0)

在网站项目中,〜/ bin文件夹中的所有程序集都会自动添加到GAC中。

在Web应用程序项目中,您需要明确定义GAC中包含的程序集。

-

我相信您可以通过将Sitefinity的程序集引用添加到项目中来解决此问题。

要做到这一点:

  1. 在解决方案资源管理器中右键单击您的项目
  2. 单击“添加引用”
  3. 浏览程序集
  4. 导航到Sitefinity~ / bin文件夹
  5. 添加对Sitefinity DLL文件的引用
  6. 然后应将WebModule识别为已定义的类。

    -

    好消息,Sitefinity 4.0(今年晚些时候)默认支持Web应用程序项目。

相关问题