2009-04-14 5 views
0

J'ai un site Web dans Sharepoint 2007. J'utilise des adaptateurs de contrôle, en particulier un adaptateur pour le menu et le contrôle de connexion. Ces deux adaptateurs résident dans un assembly signé qu'il est déployé dans le dossier bin du site Web. Le navigateurType de création d'exception pour un adaptateur dans un site Web 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> 

De temps en temps que je reçois l'exception suivante, juste de temps en temps, disons une ou deux fois par jour:

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

choses à prendre à l'esprit: cela se produit dans la machine que je développe, je ne sais pas s'il y a des fichiers temporaires qui peuvent rendre le framework fou. Deuxièmement, je ne sais pas si le framework cherche peut-être la classe de l'adaptateur dans un autre assembly, car j'ai des assemblys qui ont les mêmes espaces de noms que celui-ci, c'est-à-dire: NameofEnterprise.SecondName.BusinessLayer, NameofEnterprise. SecondName.DataLayer ....

Plz pourriez-vous me dire quel peut être le problème? Puis-je être plus précis pour indiquer au framework le nom de l'assembly (dans le navigateur, vous n'écrivez que le nom de la classe et de l'espace de noms)?

SOLUTION

Enfin j'ai utilisé les 2 conseils que vous me avez donné. Je pense que la première chose est assez, c'est-à-dire:

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

Mais j'ai inclus deux l'assemblée et le jeton public dans le navigateur:

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

Répondre

2

Vous devez modifier votre web.config , en ajoutant votre assembly à la liste des assemblys:

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

Ajoutez l'assembly qui contient vos contrôles et l'erreur doit disparaître. Pour référence future, les fichiers Internet Temp a presque rien à faire avec des erreurs Asp.net. Bien que vous puissiez les effacer si cela vous fait vous sentir mieux.

+0

Merci beaucoup. Je n'ai pas fait référence aux fichiers Internet temporaires, j'ai fait référence aux fichiers temporaires Framework, situés dans: \ WINDOWS \ Microsoft.NET \ Framework \ v ... \ Fichiers ASP.NET temporaires. – netadictos

1

Il est également utile d'utiliser le nom complet qualifié lorsque vous ajoutez la référence à votre Assemblée:

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

Questions connexes