【问题标题】:Exception creating type for an adapter in a Sharepoint website?Sharepoint 网站中适配器的异常创建类型?
【发布时间】:2009-04-14 07:38:51
【问题描述】:

我在 Sharepoint 2007 中有一个网站。我使用控制适配器,特别是用于菜单和登录控制的适配器。这两个适配器驻留在一个签名的程序集中,它被部署到网站的 bin 文件夹中。 浏览器

<browser refID="Default">
        <controlAdapters>
            <adapter controlType="System.Web.UI.WebControls.Menu"
             adapterType="NameofEnterprise.SecondName.Adapters.MenuAdapter" />
            <adapter controlType="System.Web.UI.WebControls.Login"
         adapterType="NameofEnterprise.SecondName.Adapters.LoginAdapter" />
        </controlAdapters>
    </browser>

有时我会遇到以下异常,只是有时,比如说一天一两次:

Unable to create type 'NameofEnterprise.SecondName.Adapters.MenuAdapter'.

要记住的事情:这发生在我开发的机器上,我不知道是否有临时文件可以让框架变得疯狂。其次,我不知道框架是否正在另一个程序集中寻找适配器的类,因为我有一些程序集与这个具有相同的命名空间,也就是说:NameofEnterprise.SecondName.BusinessLayer,NameofEnterprise。 SecondName.DataLayer....

请问您能告诉我可能是什么问题吗?我可以更具体地告诉框架程序集的名称(在浏览器中你只写类和命名空间的名称)吗?

解决方案

最后,我使用了您给我的 2 条建议。我认为有了第一件事就足够了,也就是说:

<system.web>
    <compilation>
      <assemblies>
        <add assembly="*<Your assembly name here>*"/>
    </assemblies>
    </compilation>
</system.web>

但我在浏览器中包含了两个程序集和公共令牌:

<browser refID="Default">
    <controlAdapters>
            <adapter controlType="System.Web.UI.WebControls.Menu"
             adapterType="NameofEnterprise.SecondName.Adapters.MenuAdapter", YourAssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=YourPublicKeyToken"/>
    </controlAdapters>

【问题讨论】:

    标签: .net sharepoint-2007 adapter cssadapter


    【解决方案1】:

    您应该修改您的 web.config,将您的程序集添加到程序集列表中:

    <system.web>
        <compilation>
          <assemblies>
            <add assembly="*<Your assembly name here>*"/>
        </assemblies>
        </compilation>
    </system.web>
    

    添加包含您的控件的程序集,错误应该会消失。供将来参考,临时 Internet 文件与 Asp.net 错误几乎无关。虽然如果它能让你感觉更好,你可以清除它们。

    【讨论】:

    • 非常感谢。我没有指临时 Internet 文件,我指的是 Framework 临时文件,位于:\WINDOWS\Microsoft.NET\Framework\v...\Temporary ASP.NET Files。
    【解决方案2】:

    将引用添加到程序集时,使用完整的限定名称也很有用:

    <browser refID="Default">
        <controlAdapters>
                <adapter controlType="System.Web.UI.WebControls.Menu"
                 adapterType="NameofEnterprise.SecondName.Adapters.MenuAdapter", YourAssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=YourPublicKeyToken"/>
        </controlAdapters>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-09
      • 2018-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多