Unde se află pachetul Microsoft.Practices.Unity? (Programare, C#,.Net, Nuget, Container Unitate)

AndrasCsanyi a intrebat.

Acum o oră mi-am actualizat pachetele nuget pentru soluția la care lucrez și primesc mesajul de eroare, aruncat de Unity, că

Tipul ‘IUnityContainer’ este definit într-un ansamblu care nu este referențiat. Trebuie să adăugați o referință la ansamblul ‘Microsoft.Practices.Unity, Version=4.0.0.0.0, Culture=neutral, PublicKeyToken=6d32ff45e0ccc69f’.

De atunci am căutat pe Google pentru a obține informații utilizabile despre faptul că unde se află acest pachet. Articolele, întrebarea în jurul acestuia sunt vechi, se ocupă de versiunea 2.x.

Nu există un astfel de pachet în Nuget.

Am pachetele enumerate mai jos din stiva Unity instalate:

  <package id="Unity" version="4.0.2" targetFramework="net452" />
  <package id="Unity.ServiceLocator" version="2.0.0" targetFramework="net452" />
  <package id="Unity.WebAPI" version="5.2.3" targetFramework="net452" />

Orice ajutor este apreciat!

Comentarii

3 răspunsuri
Martin Staufcik

După ce ați adăugat nuget cu

Install-Package Unity

este localizat în

packagesUnity.4.0.1lib
et45Microsoft.Practices.Unity.dll 

Probabil că trebuie doar să adăugați o referință la acest ansamblu.

Comentarii

  • Am instalat un pachet greșit, 4.0.2 publicat de AgileSight. Pachetul 4.0.1 – care face referire automat la Miicrosoft.Practices.Unity.dll – a fost publicat de Microsoft și funcționa de minune. –  > Por AndrasCsanyi.
Loaderon

A trebuit să schimb

using Microsoft.Practices.unity;

la

using Unity;

Cred că din cauza unei actualizări în Unity cu NuGet

Comentarii

  • Mulțumesc; m-ați salvat câteva ore…  > Por Stefan.
  • În cazul meu instalez doar Unity.WebAPI Nuget. Dar nu reușește.Caută Using UNity; deși l-am instalat, nu-l pot vedea.  > Por lokanath das.
  • @lokanathdas mă confrunt cu aceeași problemă. Am instalat unity 5.11.4, dar îmi dă eroare când încerc să rezolv clasa (container.Resolve<HomeVM>())) . Error = CS0308 Metoda non-generică ‘IUnityContainer.Resolve(Type, string, params ResolverOverride[])’ nu poate fi utilizată cu argumente de tip –  > Por Mashhad Saleem.
Tomas Hesse

Actualizați Unity cu Nuget. Folosesc NuGet Package Manager în loc de linia de comandă. Accesați Manager prin clic dreapta pe soluție în Solution Explorer din Visual Studion