【问题标题】:Where is Microsoft.Practices.Unity package?Microsoft.Practices.Unity 包在哪里?
【发布时间】:2016-02-27 18:54:49
【问题描述】:

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

类型“IUnityContainer”是在一个不是 参考。您必须添加对程序集的引用 'Microsoft.Practices.Unity,版本=4.0.0.0,文化=中性, 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" />

感谢任何帮助!

【问题讨论】:

标签: c# .net nuget unity-container


【解决方案1】:

我不得不改变

using Microsoft.Practices.unity;

using Unity;

我认为是因为在 Unity 中使用 NuGet 进行了更新

【讨论】:

  • 谢谢;你为我节省了几个小时
  • 在我的情况下,我只安装 Unity.WebAPI Nuget。但它失败了。它正在寻找使用统一;虽然我已经安装了但我看不到它
  • @lok​​anathdas 我面临同样的问题。我已经安装了 unity 5.11.4,但是当我尝试解析类 (container.Resolve()) 时它给了我错误。错误 = CS0308 非泛型方法 'IUnityContainer.Resolve(Type, string, params ResolverOverride[])' 不能与类型参数一起使用
【解决方案2】:

添加 nuget 后

Install-Package Unity

它位于

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

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

【讨论】:

  • 我安装了一个错误的包,AgileSight 发布的 4.0.2。 4.0.1 - 自动引用 Miicrosoft.Practices.Unity.dll - 由 Microsoft 发布,运行起来非常棒。
【解决方案3】:

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

【讨论】:

    猜你喜欢
    • 2016-09-26
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 2015-01-16
    • 2020-02-23
    • 2011-02-06
    相关资源
    最近更新 更多