mercredi 6 mai 2015

IWindsorInstaller Exclude assemblies

I can't exclude some assemblies in install process.

I try this :

 public class InternationnalisationInstaller : IWindsorInstaller
{
    public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
    {
        string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
        var filter = new AssemblyFilter(path)
                .FilterByAssembly(a => !a.IsDynamic
                    && !a.FullName.Contains("Microsoft"));

        container.Register(Classes.FromAssemblyInDirectory(filter)
            .BasedOn<ITraductionProvider>()               
            .WithService.AllInterfaces());
    }
}

in dev no problem, but in production :

Impossible de charger le fichier ou l'assembly 'Microsoft.VisualStudio.Shell.Immutable.10.0, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ou une de ses dépendances. Le fichier spécifié est introuvable. à System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes) à System.Reflection.RuntimeAssembly.GetExportedTypes() à Castle.Core.Internal.ReflectionUtil.GetAvailableTypes(Assembly assembly, Boolean includeNonExported) à Castle.Core.Internal.ReflectionUtil.GetAvailableTypesOrdered(Assembly assembly, Boolean includeNonExported) à Castle.MicroKernel.Registration.FromAssemblyDescriptor.b__0(Assembly a) à System.Linq.Enumerable.d__14 2.MoveNext() à Castle.MicroKernel.Registration.FromDescriptor.Castle.MicroKernel.Registration.IRegistration.Register(IKernelInternal kernel) à Castle.MicroKernel.Registration.BasedOnDescriptor.Castle.MicroKernel.Registration.IRegistration.Register(IKernelInternal kernel) à Castle.MicroKernel.DefaultKernel.Register(IRegistration[] registrations) à Castle.Windsor.WindsorContainer.Register(IRegistration[] registrations) à Internationnalisation.InternationnalisationInstaller.Install(IWindsorContainer container, IConfigurationStore store)

this assembly is used to tag class for VSIX registration. Can you help me ? Thanks

Aucun commentaire:

Enregistrer un commentaire