Ticket Hash: | e634e330a6c9afad2eeccc02cb06e84679fa699d | |||
Title: | Support for EF 6.1.0 EDMX Wizard broken | |||
Status: | Closed | Type: | Incident | |
Severity: | Important | Priority: | Blocker | |
Subsystem: | NuGetPackage | Resolution: | Fixed | |
Last Modified: | 2014-09-15 18:24:20 | |||
Version Found In: | 1.0.93 / 1.0.94-pre | |||
User Comments: | ||||
anonymous added on 2014-07-28 08:11:37:
Repro: Install 1.0.93 to VS 2013 Install EF 6.1.1 Tools in VS 2013 Create new console project Add System.Data.SQLite.EF6 NuGet package Build project Connect to Chinook_Sqlite.sqlite in Server Explorer Add, New Item, ADO.NET Entity Data Model, EF designer from Database, Select Chinook_Sqlite Expected: Show tables etc. in SQLite database for selection Acutual: "Your project references the latest version of Entity Framework; however, and Entity Framwork database provider compatible with this version could not be found for your data connection" mistachkin added on 2014-07-28 18:14:11: Currently, the System.Data.SQLite NuGet packages support EF 6.1.0, not 6.1.1. mistachkin added on 2014-07-30 21:54:30: Attempting to reproduce on Windows 8.1 using Visual Studio 2013. mistachkin added on 2014-07-31 00:06:37: Setup needed is "sqlite-netFx451-setup-bundle-x86-2013-1.0.93.0.exe". mistachkin added on 2014-07-31 00:35:38: I'm seeing the reported version conflict. mistachkin added on 2014-07-31 01:12:37: This issue appears to be unique to Visual Studio 2013. The Entity Framework 6 support components work perfectly on the target machine; however, the wizard within Visual Studio appears unable to find (or validate?) them. mistachkin added on 2014-07-31 04:10:01:
I've found the cause of the issue. Apparently, the Entity Framework tooling in
For 32-bit Windows operating systems, the setting is: [HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}] "InvariantName"="System.Data.SQLite.EF6" For 64-bit Windows operating systems, the setting is: [HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\VisualStudio\12.0\DataProviders\{0ebaab6e-ca80-4b4a-8ddf-cbe6bf058c70}] "InvariantName"="System.Data.SQLite.EF6" mistachkin added on 2014-07-31 04:12:50: I've attached the necessary ".reg" files to make the setting adjustments, for both 32-bit and 64-bit Windows (i.e. the "wow64" one is only for use on 64-bit operating systems). mistachkin added on 2014-07-31 05:50:48: The check-in [bc7c43a0b4] on trunk should "fix" this issue as long as the EF6 assembly itself is installed into the global assembly cache prior to running the System.Data.SQLite setup package. I'm also looking into a way to make it work without putting the EF6 assembly in the global assembly cache. mistachkin added on 2014-08-01 03:31:42: More work is underway on the [/timeline?r=designOptions] branch. mistachkin added on 2014-08-06 03:30:45: I deleted the new ticket regarding the ".reg" files not working. Using the files also requires registering the System.Data.SQLite.EF6 assembly into the GAC, via using the following command at an Administrator Visual Studio command prompt: gacutil /i System.Data.SQLite.EF6.dll mistachkin added on 2014-09-09 18:16:51: Were there any error messages? Could you provide more details about the target system and the log files from the installation, etc? The log files should be located in the %TEMP% directory on the target machine. They will have names similar to "Setup Log 2014-09-08 #001.txt" and "Installer.exe.trace.tmp29.log". Any other additional information you could provide would be useful as well. mistachkin added on 2014-09-13 21:15:42: Steps to reproduce the current issue: Phase #1: Design-Time components smoke testing. 0. Semi-clean box, Windows 8.1 x64 with Visual Studio 2013. 1. Installed "sqlite-netFx451-setup-bundle-x86-2013-1.0.94.0.exe". 2. Launch Visual Studio 2013. 3. Open Server Explorer Window. 4. Right-click Data Connections, click Add Connection. 5. Select System.Data.SQLite provider, uncheck "always use this provider". 6. Click Continue. 7. Select an existing SQLite database with tables, FKs, etc. 8. No other options are selected on this dialog (e.g. encoding, etc). 9. The "provider" combo box has "System.Data.SQLite.EF6" pre-selected. 10. Click Ok and the database is added to the list of Data Connections. Phase #2. Design-Time support for EF6 smoke testing. 0. No solution open, Visual Studio 2013 Update 2 RTM. 1. File, New Project, Visual C# Console Application. 2. Save All from the file menu. 3. Right-click project in Solution Explorer Window. 4. Select Manage NuGet Packages and search for "System.Data.SQLite". 5. Select and install the "System.Data.SQLite.Test" package. 6. Accept Entity Framework 6 license. 7. Close Manage NuGet Packages dialog. 8. Right-click project and "Add New Item". 9. Select "ADO.NET Entity Data Model". 10. Select "EF Designer from database". 11. The SQLite database added in Phase #1 does not appear. FAIL mistachkin added on 2014-09-15 18:24:20: Confirmed fixed by original reporter via email. |