2010-07-05 11 views
0

J'implémente actuellement certains DataProviders conformément au modèle de fournisseur ASP.NET. Tout fonctionne correctement, bien que le répertoire de l'application soit un désordre dû à tous les assemblys contenant les fournisseurs de données et leurs dépendances.Est-il possible de placer les assemblys ASP.NET DataProvider dans un sous-répertoire?

Est-il possible de placer les assemblys contenant les DataProviders dans un sous-dossier? Si oui, que dois-je changer (dans le fichier app.config?) Pour que les assemblages soient trouvés par l'application?

Ceci est mon entrée en cours dans le app.config:

<CustomerProvider> 
    <providers> 
    <add name="SqlDataProvider" type="SqlDataProvider.SqlCustomerDataProvider, SqlDataProvider"/> 
    </providers> 
</CustomerProvider> 

Meilleures salutations, Michael

Répondre

0

Je viens de trouver la solution dans le livre du .NET Framework de programmation en C# par Jeffrey Richter. Il vous suffit d'ajouter la section suivante à votre app.config:

<configuration> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <probing privatePath="Providers"/> 
    </assemblyBinding> 
    </runtime>  
    ... 
</configuration> 

Cela provoque le CLR pour examiner les fournisseurs d'annuaire sous dans votre répertoire racine d'application (par exemple C: \ MonApplication \ Providers) quand il ne peut pas trouver un assembly référencé.

Maintenant, je peux mettre tous les 100 + assemblées dans un répertoire séparé et garder mon répertoire d'application propre.