所以我在家里通过团队基础服务器下载了一个项目。我下载了该项目,但由于错误而无法编译。警告 2 找不到引用的组件“EntityFramework”。任何人都可以就我如何让实体框架工作提供指导。我安装了nuget包。
谢谢
所以我在家里通过团队基础服务器下载了一个项目。我下载了该项目,但由于错误而无法编译。警告 2 找不到引用的组件“EntityFramework”。任何人都可以就我如何让实体框架工作提供指导。我安装了nuget包。
谢谢
我建议你检查:
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
我有同样的问题。我是这样解决的:
References
> 右键单击 >Add Reference ...
Browse
标签packages
> EntityFramework.4.1.10331.0
>lib
EntityFramework.dll
OK
在我将项目移动到子文件夹后,这发生在我身上。然后,包文件夹的相对路径不再正确。
得到这样的错误:
此项目引用此计算机上缺少的 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">
开发人员建议了一些好方法,您也可以尝试此解决方案来解决您的问题。
在您的情况下,您的项目引用了 EntityFramework 库,但它本身的库对您的项目不可用。您可以尝试以下任一方法:
单击项目-> 管理 NuGet 包。它将打开以下窗口。
找到 EntityFramework 并单击安装。
右键单击项目-> 添加引用...-> 浏览-> 找到您的 EntityFramework 库-> 单击确定
我通过在我的项目中添加 C:\Prog Files\Entity...\Binaries\Entity Framework.dll 下的实体框架引用(添加引用)解决了这个问题。希望这可以帮助!