2010-12-08 49 views
0

J'ai un dossier qui contient plusieurs exécutables. Actuellement, la redirection de liaison d'assembly est configurée dans chaque fichier executable.exe.config. Y at-il un moyen de configurer cela une seule fois et tous les exécutables dans ce dossier le ramasser automatiquement? Je voudrais éviter machine.config car cela l'appliquera pour l'ensemble de l'ordinateur.configure assemblyBinding une fois pour plusieurs exécutables

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <publisherPolicy apply="yes" /> 
    <dependentAssembly> 
    <assemblyIdentity name="SomeAssembly" publicKeyToken="10addddbec4aebba" /> 
    <publisherPolicy apply="yes" /> 
     <bindingRedirect oldVersion="0.0.0.0-7.9.999.0" newVersion="5.8.11.5" /> 
    </dependentAssembly> 
    <dependentAssembly> 
    <assemblyIdentity name="SomeOtherAssembly" publicKeyToken="23adeddbac4ae12a" /> 
    <publisherPolicy apply="yes" /> 
     <bindingRedirect oldVersion="0.0.0.0-7.9.999.0" newVersion="5.8.11.5" /> 
    </dependentAssembly> 
</assemblyBinding> 

Répondre

1

Il est possible de "diviser" vos configs dans différentes sections et de les placer dans des fichiers externes. Vous voudriez un almoust config vide pour chaque exe et ajouter là une telle section. Cependant le Enterprise Lib offre un bloc d'application pour cela.
Une autre solution consiste à utiliser des liens de fichiers symboliques - aka junction - pour rediriger chaque config vers le global (mais je ne recommande pas cela).

0

Je crois qu'il n'y a aucun moyen d'avoir un fichier de configuration pour plusieurs exécutables. MSDN mentionne seulement deux options - executable.exe.config et globale machine.config.

La seule solution qui me vient à l'esprit est de créer un grand exécutable qui a toutes les fonctionnalités de executables en cours (et une configuration commune) puis effectuez vos executables actuels courent le grand avec une sorte de commutateur, etc.