Vra

Ek gebruik Castle Windsor vir afhanklikheidsinspuiting in my toetsprojek.Ek probeer om 'n instansie een van my 'Repository'-klasse te skep."Dit werk goed op my masjien", maar wanneer ek 'n nagtelike bou in TFS laat loop, kan my toetse nie genoemde klasse laai nie.

private static readonly WindsorContainer _container = new WindsorContainer(new XmlInterpreter());


    public void MyTestInitialize()
    {
        var testRepository = (IBogusRepository)_container[typeof(IBogusRepository)];

    }

xml konfigurasie:

<castle>
    <components>
      <component id="primaryBogusRepository" type="Example2008.Repository.LALALALALA, Example2008.Repository" service="Example2008.Domain.Repository.IBogusRepository, Example2008.Domain" />
      <component id="primaryProductRepository" type="Example2008.Repository.ProductRepository, Example2008.Repository" service="Example2008.Domain.Repository.IProductRepository, Example2008.Domain" />
    </components>
  </castle>

As ek 'n nuwe gebou in die ry staan, produseer dit die volgende boodskap:

Kan nie 'n voorbeeld van die klas voorbeeld2008.test.activeProductRepositoryTest skep nie.Fout:System.Configuration.ConfigurationException:Die tipe naam Voorbeeld2008.repository.lalalala, voorbeeld2008.repository kon nie geleë wees nie.

Castle.windsor.installer.defaultComponentInstaller.obTaintype (String TypeName) Castle.Windsor.Installer.DefaultComponentInstaller.SetUpComponents (IconFiguration [] Configurations, IWindSorContainer Container) Castle.SetSor.InStaller.DeFaultComponent) Houerhouer, Iconfigurationstore Store) Castle.Windsor .WindsorContainer.runinstaller () Castle.windsor.windsorContainer..ctor (IconFigurationInterpreter)) Voorbeeld2008.test.activeProductRoSitoryTest..cctor () in d: code_Temp voorbeeld Project bronne Voorbeeld2008.Test productRepositost.cs:reël 19

Uit hierdie boodskap blyk dit dat my konfigurasie korrek is (dit kan sien dat ek die betonklas 'LALALALALA' wil instansieer, so die xml-konfigurasie is duidelik rooi korrek)

Ek dink ek het my afhanklikhede ook korrek opgestel (omdat dit plaaslik werk, al maak ek die oplossing skoon en herbou).

Enige gedagtes?

(met behulp van VS2008, TFS 2008.Net 3.5, Castle 1.03, terloops)

Was dit nuttig?

Oplossing

Dit is ... interessant. Ek het gevind dat hierdie blog post wat kan jou probleem te help. Dit lyk soos MSTest gebruik dat as sy werk gids, wat irriterende om die minste te sê. Die blog post wys hoe om die gids te verander, sodat jy in ooreenstemming resultate kan hê. Ek sou ook doen 'n paar Googlen om vas te stel of 'n meer elegante oplossing bestaan.

Ander wenke

Dit klink asof die samestelling wat die repository-implementasies bevat, in die bin-gids ontbreek (of waar ook al jou uitvoergids vir die bou is).

Ek sal eers kyk of die samestelling in die boubediener se uitvoergids bestaan.

As dit wel bestaan, dan sal ek seker maak dat die weergawe van die samestelling die regte een is, m.a.w.het die repository implementering daarop in dieselfde naamruimte ens.

Dit mag wees dat jou boubediener die voorwerpe iewers anders uitvoer/bou as waar VS besig is om uit te voer/bou.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top