生产需要实体框架'包'文件夹吗?

时间:2014-04-30 08:16:15

标签: asp.net entity-framework dll webforms

我有一个带有实体框架5和.NET 4.5的webforms项目。当我发布网站时,它会在编译的代码中生成“packages”目录,其中包含一些实体框架dll。然而,即使我删除它,该网站运行良好。应该提到我不使用代码优先。 这个文件夹的目的是什么?

TIA。

2 个答案:

答案 0 :(得分:1)

首先,请确保您使用EF5作为版本5.0,而不是4.4,如果您首次在EF5上安装了.net 4并且稍后更新为.net 4.5

http://thedatafarm.com/data-access/when-entity-framework-5-ef5-is-not-entity-framework-5-ef5/

EF5开始,实体框架是一个单独的api(包),可以通过Library Package ManagerNuGetVisual Studio安装,它不是{{}的一部分1}}安装了。

.net framework文件夹是packages软件包安装的默认文件夹。

因此,请查看实际使用EF的项目中必须存在的NuGet引用,并查看您引用的程序集的版本和位置。如果您的EntityFramework属性设置为true,则无需在安装包中包含Copy Local文件夹,程序集将自动复制到packages文件夹,否则您将不得不

答案 1 :(得分:1)

您的问题的简短回答是:不,您不需要包文件夹

答案很长:不,你不需要生产中的packages文件夹,它是由nuget在你安装包来保存那个包的dll时创建的。

因此,如果您在项目中包含EF,它将被复制到那里并且将一个引用添加到您的项目〜/ packages / Entityframework.dll,在编译时,dll的副本将被放入您的bin文件夹中

在我们的实时环境发布期间,我会定期删除此文件夹,因为它不需要。