.net - 什么是 NuGet 以及它如何工作? [ Entity Framework 的扩展]

标签 .net entity-framework visual-studio nuget nuget-package

我从来没有摆弄过 NuGet,直到最近我将项目的 .NET 版本从 4.5 降级到 4.0,并且 Visual Studio 开始提示某些 NuGet 包需要 EntityFramework重新安装即可再次工作。所以我去了PM> Update-Package -reinstall EntityFramework我被排序了。

所以,既然你知道我是如何走到这一步的,这些就是我的问题

  1. 我很确定我没有在我的 Visual Studio Express 2013 上安装 NuGet。它是 Visual Studio 上的默认功能吗?
  2. 我还没有添加EntityFramework我的解决方案上的 NuGet 包。 NuGet 是否会发现我的解决方案需要什么并自动添加它们?在我的解决方案中,我使用 EntityKeyEntityState需要枚举using System.Data.Entity & using System.Data.Entity.Core 。当 Visual Studio 提示找不到这两个枚举时,它添加了这两个命名空间,就像您使用某些 LINQ 并且没有 using System.Linq 一样。 .
  3. Entity Framework 的描述说“ Entity Framework 是 Microsoft 推荐用于新应用程序的数据访问技术”。这是第三方库吗?我尽量不使用第三方库。我还发现 EntityFramework.dll 现在已添加到我的 bin\Release 文件夹中,我想我需要将其附加到我的可执行文件中才能使其正常工作。
  4. 除了将所需的第三方 dll 添加到引用之外,NuGet 是否还执行其他操作?我记得我过去使用过 Log4Net,但没有使用 NuGet 的“轻松添加包”功能。

最佳答案

  1. NuGet 默认情况下随 Visual Studio 一起提供。

  2. 多个项目模板(当您使用“新建项目”时)默认包含 Entity Framework 。

  3. 取决于您如何定义第三方。它是一个微软库。如果您将第三方定义为您或您的客户未编写的任何内容,那么它也是第三方库。 Entity Framework 实际上现在是开源的,但我非常确定 nuget 包是由 Microsoft 构建和发布的。

  4. 除了添加 DLL 引用之外,某些包还可能应用转换,例如向配置文件添加默认设置,或向项目添加文件(例如代码或内容文件)。

我从未遇到过任何大问题,但如果您有一个非常大的项目,我会为其创建一个备份副本,或者确保您在添加以前从未使用过的新包之前已检查源代码控制。通常卸载软件包后会很好地清理干净,但 Nuget 软件包的质量取决于它们的作者和复杂程度。

关于.net - 什么是 NuGet 以及它如何工作? [ Entity Framework 的扩展],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27536936/

相关文章:

c++ - 从 Visual Studio 文件夹运行 .exe 文件会自动关闭窗口

c# - 没有死的单声道友好图形库

java - 发出发布请求时无法从 jsoup 获取结果

asp.net - 避免 IIS 中的应用程序池预热

.net - 无法在我的 Entity Framework v4 + POCO :( 中使用存储过程

c# - EntityFramework 6 RC1 包含在多对多属性上失败

c# - EF6 代码优先 - 当 IDENTITY_INSERT 设置为 OFF 时,无法在表 '' 中插入标识列的显式值

.net - WinForms RichTextBox : how to reformat asynchronously, 没有触发 TextChanged 事件

c++ - 在 Visual Studio (TDD) 中构建和运行 C++ 单元测试

c++ - 从大学计算机换到家里,为什么我得到的 FreeImage.h 没有这样的文件或目录?