确定我使用的entity framework的版本?
我相信有两个版本1和2? 而版本2被称为entity framework4.0?
我怎样才能知道在应用程序中使用了哪个版本?
这是在我的web.config这是否意味着我正在使用版本2?
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
有两个版本:1和4. EFv4是.net 4.0的一部分,EFv1是.net 3.5 SP1的一部分。
是的,上面的configuration设置指向EFv4 / .net 4.0。
编辑如果打开引用文件夹并findsystem.data.entity
,请单击该项目,然后在“属性”资源pipe理器中检查运行时版本号,也会看到子版本。 我的例子显示版本属性显示为4.0.0.0的运行时版本v4.0.30319。 EntityFramework.dll
也可以用这种方式查看。 只有版本是4.1.0.0,运行时版本是v4.0.30319,它指定它是一个.NET 4组件。 或者,您可以打开path属性中列出的文件位置,然后右键单击有问题的组件,select属性,然后select详细信息选项卡并查看产品版本。
获取正在使用的EF版本的另一种方法是在Visual Studio中打开程序包pipe理器控制台(PMC),然后在提示符下键入Get-Package。 第一行是EntityFramework,列出项目安装的版本。
PM> Get-Package Id Version Description/Release Notes -- ------- ------------------------- EntityFramework 5.0.0 Entity Framework is Microsoft's recommended data access technology for new applications. jQuery 1.7.1.1 jQuery is a new kind of JavaScript Library.... `enter code here`
它显示更多,你可能不得不回滚findEF线,但这是我知道要找出最简单的方法。
可以在packages.config文件中检查它。
<?xml version="1.0" encoding="utf-8"?> <packages> <package id="EntityFramework" version="6.0.2" targetFramework="net40-Client" /> </packages>
回答你的问题的第一部分:Microsoft 在这里发布了他们的entity framework版本历史logging 。
如果打开引用文件夹并findsystem.data.entity,请单击该项目,然后在“属性”资源pipe理器中检查运行时版本号,也会看到子版本。 我的例子显示v4.0.30319版本属性显示4.0.0.0。
如果你去参考,点击entity framework,查看属性它会告诉你的版本号。
internal static string GetEntityFrameworkVersion() { var version = ""; var assemblies = System.AppDomain.CurrentDomain.GetAssemblies().Select(x => x.FullName).ToList(); foreach(var asm in assemblies) { var fragments = asm.Split(new char[] { ',', '{', '}' }, StringSplitOptions.RemoveEmptyEntries).Select(x=> x.Trim()).ToList(); if(string.Compare(fragments[0], EntityFramework, true)==0) { var subfragments = fragments[1].Split(new char[] { '='}, StringSplitOptions.RemoveEmptyEntries); version =subfragments[1]; break; } } return version; }