Qualquer maneira de adicionar algumas assembleias padrão para tipos resolvem partir em Unity / ObjectBuilder?

StackOverflow https://stackoverflow.com/questions/222102

Pergunta

Eu estou trabalhando em meu projeto 1º utilizando framework MS Unidade IoC.

Se eu tenho isso na minha configuração de unidade:

  <container name="TestBusiness">
    <types>
      <type type="PFServer.DataAccess.TestDataAccess" />

Então eu recebo o erro:

Não foi possível carregar o tipo 'PFServer.DataAccess.TestDataAccess' de montagem 'Microsoft.Practices.Unity.Configuration, Version = 1.1.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' .

No entanto, se eu adicionar o nome do assembly para a definição do tipo:

  <container name="TestBusiness">
    <types>
      <type type="PFServer.DataAccess.TestDataAccess, PFServer" />

Em seguida, ele funciona bem. Existe alguma maneira de adicionar algum conjunto padrão de conjuntos de tipos de carga a partir de? O curioso neste caso é que "PFServer.dll" é o conjunto que contém toda esta configuração de qualquer maneira. Acho estranho que a corrente de montagem não está no caminho para objetos resolver ... Ou estou apenas fazendo algo errado?

Foi útil?

Solução

Unidade resolve cordas para objetos do tipo chamando o Type.GetType método estático (string) que espera um argumento que é um AssemblyQualifiedName . A chamada para GetType é feita no Microsoft.Practices.Unity.Configuration montagem que não sabe sobre o seu PFServer montagem por isso precisa o nome do assembly na string.

Eu acho que tipo aliases pode ajudá-lo. Aqui está um exemplo.

<unity>
    <typeAliases>
        <typeAlias alias="TestDataAccess" type="PFServer.DataAccess.TestDataAccess, PFServer" />
        ...
    </typeAliases>

    <containers>
      <container name="TestBusiness">
        <types>
            <type type="TestDataAccess" />
            ...
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top