0

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

2 回答 2

0

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

于 2010-08-10T21:55:21.683 回答
0

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

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

--

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

去做这个:

  1. 在解决方案资源管理器中右键单击您的项目
  2. 单击添加参考
  3. 浏览装配体
  4. 导航到 Sitefinity ~/bin 文件夹
  5. 添加对 Sitefinity DLL 文件的引用

然后应该将 WebModule 识别为已定义的类。

--

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

于 2010-08-17T17:03:26.020 回答