Witam,
Mam problem z przeskanowaniem projektu. Wszystkie solucje aplikacji poza jedną zaczynają się od tego samego przedrostka:
abc.nazwa1
abc.nazwa2
abc.nazwa3
itd.
Jedna solucja zaczyna się od innego przedrostka, powiedzmy:
def.nazwa15
Każda klasa, w każdym projekcie dziedziczy po swoim interfejsie wg. takiej konwencji:
Nazwa_Klasy : INazwa_Klasy
Wyjątkiem jest jeden interfejs. Dziedziczą po nim dwie klasy. Powiedzmy, że jedna znajduje się w projekcie o nazwie abc.nazwa2, a druga w projekcie def.nazwa15.
Konstruktory klas zbudowane są wg. takiego schematu:
public Klasa15 : IKlasa15{
public Iklasa1 Klasa1;
public Iklasa2 klasa2;
public Klasa15(IKlasa1 klasa1, IKlasa2 klasa2)
{
Klasa1=klasa1;
Klasa2=klasa2;
}
}
Skanowanie odbywa się w ten sposób:
public void Skanowanie()
{
ObjectFactory.Initialize(x =>
{
x.Scan(scanner =>
{
scanner.AssembliesFromApplicationBaseDirectory(
assembly => assembly.FullName.StartsWith("abc"));
scanner.LookForRegistries();
scanner.WithDefaultConventions(); ;
scanner.ExcludeType<IKlasa2>();
});
x.Scan(scanner =>
{
scanner.AssembliesFromApplicationBaseDirectory(
assembly => assembly.FullName.StartsWith("def"));
scanner.LookForRegistries();
scanner.WithDefaultConventions();
});
});
ObjectFactory.AssertConfigurationIsValid();
}
Natomiast inicjalizacja skanowania w ten:
Bootstrapper.Skanowanie();
var obiekt = StructureMap.ObjectFactory.GetInstance<IKlasa20>();
Application.Run(new Form1(obiekt));
Podczas próby uruchomienia aplikacji wyskakuje taki błąd:
StructureMap.StructureMapException: StructureMap Exception Code: 202
Build Error on Instance 'abc.Klasa4.Klasa4, abc.Klasa15, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' (Configured Instance of abc.Klasa4.Klasa4,abc.Klasa4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null)
for PluginType abc.Klasa4.IKlasa4, AI4X.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
StructureMap.StructureMapException: StructureMap Exception Code: 202
Ten błąd dotyczy wszystkich klas znajdujących się w konstruktorze klasy inicjowanej na samym początku przy starcie aplikacji.
Orientujecie się może gdzie należy upatrywać przyczyny tego typu błędu? ;)