【问题标题】:Where to discover in which package is some namespace? [duplicate]在哪里可以发现某个命名空间在哪个包中? [复制]
【发布时间】:2016-02-16 19:00:14
【问题描述】:

嗯,ASP.NET MVC 5 有(不是那么新的)包系统,还有很多新的方法和命名空间。但有时我不知道在哪里可以找到一些命名空间。

例如:

我需要使用 System.Web.Mvc 命名空间,所以我在 NuGet 上搜索它(在 vs2015 中),我没有在列表中下载任何微软官方包。 所以我去 msdn 文档并找到 this 链接。再一次,没有关于包裹的事情。

我在这里缺少什么?如何找到要下载的正确包?

【问题讨论】:

  • MVC 5 没有改变。有一个新的MVC 6 是 ASP.NET Core 1.0(以前称为 ASP.NET 5)的一部分。
  • 我知道,但问题不在于它
  • MVC 5 没有改变。它的 NuGet 包称为 Microsoft.AspNet.Mvc,它仍然可用here。我认为您的错误在于假设 NuGet 包名称与代码中的命名空间相对应,但不一定如此。
  • @mason 是的,我同意你的看法,但这不奇怪吗?我找不到有关某些特定命名空间需要哪个包的信息。
  • NuGet 只是一个包容器,可以将其视为带有 一点 元数据的 zip 文件。除非包维护者已将包含的名称空间列表添加到包描述中,否则您将无法找到它们。您必须提前知道哪个 NuGet 包包含您寻找的命名空间。

标签: c# asp.net-mvc


【解决方案1】:

正如您已经看到的,在许多情况下,在 NuGet 中搜索命名空间不会返回您需要的包。

不幸的是,我认为没有任何简单的方法可以将命名空间引用回现有包。您将不得不研究每个案例所需的内容。在大多数情况下,您可以搜索互联网以找到答案。

我相信您可以从以下位置安装 System.Web.Mvc:

Install-Package Microsoft.AspNet.Mvc -Version 5.2.3

或者你需要的任何版本...

【讨论】:

  • 已编辑的答案请删除不赞成票...
【解决方案2】:

System.Web.MvcASP.NET MVC 5 框架中可用。如果您在 Visual Studio 中创建 MVC 项目,此命名空间会自动包含在项目中。 如果您需要在非 Web 项目中引用它(强烈不推荐),您可以通过在项目下添加引用来实现。

【讨论】:

  • NuGet 仅适用于 3rd 方库或包。它也适用于 Microsoft 开发的程序集,包括一些曾经是 .NET 框架的一部分。
猜你喜欢
  • 1970-01-01
  • 2011-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-18
  • 2012-09-25
  • 2017-04-26
  • 1970-01-01
相关资源
最近更新 更多