Interfaces (Nell'assemblea denominata "Interfacce" In progetto: -. Interfaces)Application Block Unità 2.0 - Il nome delle istruzioni riportate o codebase non era valido
namespace Interfaces
{
public interface IDoSomeWork1
{
string DoSomeWork1();
}
}
namespace Interfaces
{
public interface IDoSomeWork2
{
string DoSomeWork2();
}
}
dipendenze (nell'Assemblea denominata "Entità " In progetto: -. Entità)
namespace Entities
{
public class ClassB : IDoSomeWork1
{
public string DoSomeWork1()
{
return this.ToString();
}
}
}
namespace Entities
{
public class ClassC : IDoSomeWork2
{
public string DoSomeWork2()
{
return this.ToString();
}
}
}
Class (In progetto: - UsingUnity)
public class ClassA
{
[Dependency]
public IDoSomeWork1 DoSomeWork1 { get; set; }
[Dependency]
public IDoSomeWork2 DoSomeWork2 { get; set; }
public void SomeMethodInClassA()
{
Console.WriteLine(DoSomeWork1.DoSomeWork1());
Console.WriteLine(DoSomeWork2.DoSomeWork2());
}
}
app.config (In un progetto di applicazione di console: - ConsoleUsingUnity)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="unity"
type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,
Microsoft.Practices.Unity.Configuration" />
</configSections>
<unity>
<containers>
<container>
<types>
<type type="Interfaces.IDoSomeWork1, Interfaces"
mapTo="Entities.ClassB, Entities" />
<type type="Interfaces.IDoSomeWork2, Interfaces"
mapTo="Entities.ClassC, Entities" />
</types>
</container>
</containers>
</unity>
</configuration>
Il client (In un progetto di applicazione di console: - ConsoleUsingUnity)
public class Class1
{
static void Main(string[] args)
{
IUnityContainer container = new UnityContainer();
// Load from config file
UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");
section.Configure(container);
ClassA classA = container.Resolve<ClassA>();
classA.SomeMethodInClassA();
}
}
E quando eseguo il client, ottengo il seguente errore in section.Configure (container): -
Il nome dell'assembly o codice base specificato non era valido. (Eccezione da HRESULT: 0x80131047)
io non so se ci sia qualcosa di sbagliato con la configurazione o il tipo. Qualcuno potrebbe indicare l'errore qui?
Purtroppo ho questo stesso problema, ottenere lo stesso messaggio di errore, ma il registro Fusion non mostra eventuali errori :( – CodingWithSpike
assicurarsi che sia mostrando qualcosa! Può essere un po 'noioso per impostare e il processo che è necessario vedere il caricamento degli assembly deve essere riavviato dopo l'applicazione delle impostazioni in FusionLog. –