2016-09-13 4 views
0

に呼び出されることはありません現在、私はASP.Net WEBAPIで2 Overrideingを解決するアセンブリが上書きしようそのGetAssembliesが呼び出されることはありません。GetAssembliesがIAassembliesResolver

は、私も自分のStartupクラスのリゾルバを交換しようとしたが、これはどちらか助けていません:

public void Configuration(IAppBuilder appBuilder) 
{ 
    // Configure Web API for self-host. 
    HttpConfiguration config = new HttpConfiguration(); 
    // -- here 
} 

おかげでたくさん!

+1

を行いオーバーライド不足していますか?それが問題だ場合 '公共オーバーライドはICollectionを GetAssemblies' – Nico

+0

@heinzbeinz男ああ、私は今日のために辞め:D:Dのおかげで、ちょうど素敵なVisual Studioのヒントを監督します – BendEg

答えて

1

は、あなたが `GetAssemblies`のオーバーライドを必要としない

public class ExtendedAssemblyResolver : DefaultAssembliesResolver 
{ 
    private string[] dynamicAssemblies; 

    public ExtendedAssemblyResolver(string[] dynamicAssemblies) 
    { 
     System.Diagnostics.Debugger.Launch(); 
     this.dynamicAssemblies = dynamicAssemblies; 
    } 

    public override ICollection<Assembly> GetAssemblies() 
    { 
     var baseAssemblies = base.GetAssemblies(); 
     var assemblies = new List<Assembly>(baseAssemblies); 

     if (dynamicAssemblies != null) 
     { 
      foreach (var asm in dynamicAssemblies) 
      { 
       var controllersAssembly = Assembly.LoadFrom(asm); 
       baseAssemblies.Add(controllersAssembly); 
      } 
     } 

     return baseAssemblies; 
    } 
} 
関連する問題