Microsoft.Practices.Unity 包在哪里?

Where is Microsoft.Practices.Unity package?

一个小时前,我为我正在处理的解决方案更新了我的 nuget 包,我收到了 Unity 抛出的错误消息,

The type 'IUnityContainer' is defined in an assembly that is not referenced. You must add a reference to assembly 'Microsoft.Practices.Unity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=6d32ff45e0ccc69f'.

从那时起,我一直在谷歌搜索以获取有关此包裹所在位置的一些有用信息。文章,围绕它的问题是旧的,涉及 2.x 版本。

Nuget中没有这样的包。

我安装了以下来自 Unity 堆栈的软件包:

  <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" />

感谢任何帮助!

添加 nuget 之后

Install-Package Unity

它位于

packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.dll 

您可能只需要添加对此程序集的引用。

使用 Nuget 更新 Unity。我使用 NuGet 包管理器而不是命令行。通过在 Visual Studio 的解决方案资源管理器中右键单击解决方案来访问管理器

我不得不改变

using Microsoft.Practices.unity;

using Unity;

我认为是因为 Unity 中的 NuGet 更新