Entity Framework 6 with Sharepoint 2013

2019-04-16 09:27发布

I tried without success to get a SharePoint 2013 application page or web part to work with Entity Framework 6 (6.0.1 to be exact - the version installed into Visual Studio 2012 by default using NuGet at time of writing).

My code was very simple for test purposes, just reading data from one table.

I could install the package just fine, create models, see that the they were properly configured etc, no problem - but whenever I tried to load the page I got the error:

Event code: 3008 Exception type: ConfigurationErrorsException Exception message: An error occurred creating the configuration section handler for entityFramework: Could not load file or assembly 'EntityFramework' or one of its dependencies. The system cannot find the file specified. (C:\inetpub\wwwroot\wss\VirtualDirectories\[sitename]\web.config line 36)

I copied all of the config settings from the App.Config file in VS (created by the EF install), into the web.config, verbatim.

I tried every suggested fix I could find on the interweb (e.g. changing the EF assembly ref to "Specific version = false", changing version refs in the config file to the specific version... all sorts) but nothing worked.

I created a console app using the same settings and it worked fine, so I know it's not a server-specific issue - looks like a compatibility issue with SP2013, anyone have any ideas?

I installed EF 5 using the NuGet console, and finally got it working with that... but I'm very curious as to why EF 6 refused to play ball.

Thanks Poolio

1条回答
淡お忘
2楼-- · 2019-04-16 10:15

You need to deploy the Entity Framework assemblies (EntityFramework.dll, EntityFramework.SqlServer.dll) as part of your SharePoint solution package. You can reference external dlls in the package.

查看更多
登录 后发表回答