21

所以我在家里通过团队基础服务器下载了一个项目。我下载了该项目,但由于错误而无法编译。警告 2 找不到引用的组件“EntityFramework”。任何人都可以就我如何让实体框架工作提供指导。我安装了nuget包。

谢谢

4

5 回答 5

31

我建议你检查:

1)勾选“允许 NuGet 在构建期间下载丢失的包”

Tool --> Options... --> Package Manager --> General 在此处输入图像描述

2)勾选“项目选择”

Solution Explorer --> right-click on the solution/project --> Manage NuPackages 在此处输入图像描述

3)重建解决方案

在此处输入图像描述

编辑

为了完整起见,我想补充一点,如果您使用 CI 系统(例如 Jenkins)或者您在命令行上使用 MSBuild,则需要选择Enable NuGet Package Restore以使其工作:

启用 NuGet 包还原 http://docs.nuget.org/docs/Workflows/images/enable-package-restore.png

于 2012-08-24T23:55:13.427 回答
19

我有同样的问题。我是这样解决的:

  1. 选择References> 右键单击​​ >Add Reference ...
  2. 选择Browse标签
  3. 找到您的项目文件夹> packages> EntityFramework.4.1.10331.0>lib
  4. 选择EntityFramework.dll
  5. 点击OK
于 2012-09-19T04:06:41.490 回答
4

在我将项目移动到子文件夹后,这发生在我身上。然后,包文件夹的相对路径不再正确。

得到这样的错误:

此项目引用此计算机上缺少的 NuGet 包。使用 NuGet 包还原下载它们。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 ..\packages\NETStandard.Library.2.0.1\build\netstandard2.0\NETStandard.Library.targets。项目名称 D:\VSTS\TEAMPROJECT\src\PROJECTFOLDER\PROJECTNAME.csproj

在此处输入图像描述

通过编辑 *.csproj 文件来修复它并更正相对路径,在我的例子中是从..\packages..\..\packages

还要确保检查下的路径

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
于 2018-03-13T10:14:22.687 回答
1

开发人员建议了一些好方法,您也可以尝试此解决方案来解决您的问题。

在您的情况下,您的项目引用了 EntityFramework 库,但它本身的库对您的项目不可用。您可以尝试以下任一方法:

  • 如果你有 NuGet 包管理器:

单击项目-> 管理 NuGet 包。它将打开以下窗口。

找到 EntityFramework 并单击安装。

NuGet 包窗口


- 或者,将 EntityFramework 库下载到您的计算机,然后

右键单击项目-> 添加引用...-> 浏览-> 找到您的 EntityFramework 库-> 单击确定

喜欢这张图片


- 可选地,您可以使用包管理器安装库参考,
检查此链接package-manager-console(注意:这可能需要 NuGet 包管理器)

于 2012-09-19T04:40:11.500 回答
1

我通过在我的项目中添加 C:\Prog Files\Entity...\Binaries\Entity Framework.dll 下的实体框架引用(添加引用)解决了这个问题。希望这可以帮助!

于 2014-02-24T09:10:12.727 回答