2010-07-20 7 views
3

Je suis un (enthousiaste) utilisateur (novice) de structuremap mais j'ai un problème pour charger les registres. Lorsque je démarre mon application à partir d'un lecteur local, tous les registres de mon application sont utilisés pour résoudre les types. J'ai vérifié ceci par ObjectFactory.WhatDoIHave() Cependant quand je commence la même application d'un partage alors tous les registres ne sont pas chargés. Il semble que seuls les registres actuellement chargés dans l'appdomain sont utilisés pour enregistrer les types. La chose étrange est que l'application a bien fonctionné. Récemment, j'ai mis à jour mon application de .Net 3.5 à 4.0, peut-être que cela a quelque chose à voir avec ça.Structuremap ne charge pas les registres lorsqu'il est démarré à partir du lecteur réseau

C'est ce que j'ai trouvé jusqu'à maintenant, cela pourrait-il être le problème? Assembly.LoadFrom() permissioning in .NET 4.0

mon code pour enregistrer mes registres est:

var _container = new Container(x => 
      { 
       x.Scan(
        scan => 
        { 
         scan.AssembliesFromApplicationBaseDirectory(); 
         scan.LookForRegistries(); 
        }); 
      }); 

Répondre

3

j'ai pu résoudre ce problème moi-même. Le problème est expliqué ici: http://msdn.microsoft.com/en-us/magazine/ee677170.aspx j'ajouté ce qui suit à mon fichier .config et cela a fonctionné comme un charme:

<configuration> 
    <runtime> 
    <!-- WARNING: will load assemblies from remote locations as fully trusted! --> 
    <loadFromRemoteSources enabled="true" /> 
    </runtime> 
</configuration>