2009-04-14 1 views
0

У меня есть сайт в Sharepoint 2007. Я использую адаптеры управления, в частности, адаптер для меню и элемент управления входами. Эти два адаптера находятся в подписанной сборке, которая развертывается в папке bin на веб-сайте. БраузерТип создания исключения для адаптера на веб-сайте Sharepoint?

<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 ....

Plz Вы могли бы рассказать мне, в чем проблема? Могу ли я быть более конкретным, чтобы сообщить структуре имя сборки (в браузере вы только пишете имя класса и пространства имен)?

РЕШЕНИЕ

Наконец я использовал 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> 

ответ

2

Вы должны изменить свой web.config , добавив свою сборку в список сборок:

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

Добавить сборку, содержащую элементы управления, и ошибка должна исчезнуть. Для дальнейшего использования в интернет-файлах Temp есть почти ничего, чтобы сделать с ошибками Asp.net. Хотя вы можете очистить их, если вам станет лучше.

+0

Спасибо большое. Я не ссылался на временные интернет-файлы, я упоминал временные файлы Framework, расположенные в: \ WINDOWS \ Microsoft.NET \ Framework \ v ... \ Временные файлы ASP.NET. – netadictos

1

Это также полезно использовать полное квалифицированное имя при добавлении ссылки на сборку:

<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> 

Смежные вопросы