Question

J'ai un site Web en 2007. J'utilise Sharepoint adaptateurs de contrôle, en particulier un adaptateur pour le menu et le contrôle de connexion. Ces deux adaptateurs réside dans un ensemble signé qu'il est déployé dans le dossier bin du site. Le navigateur

<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, je me l'exception suivante, juste de temps en temps, disons une ou deux fois par jour:

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

Les 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 obtenir le cadre fou. Deuxièmement, je ne sais pas si le cadre est peut-être à la recherche de la classe de l'adaptateur dans une autre assemblée, comme je l'ai quelques ensembles 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 ce qui peut être le problème? Puis-je être plus précis pour dire le cadre du nom de l'ensemble (dans le navigateur que vous écrivez uniquement le nom de la classe et l'espace)?

SOLUTION

Enfin, je l'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>
Était-ce utile?

La solution

Vous devez modifier votre web.config, en ajoutant votre assemblée à la liste des ensembles:

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

Ajoutez l'assembly qui contient vos commandes, et l'erreur doit disparaître. Pour référence ultérieure, les fichiers Temp Internet a presque rien à faire des erreurs Asp.net. Bien que vous pouvez les effacer si elle vous fait vous sentir mieux.

Autres conseils

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

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top