Я использую бесплатную sh установку Visual Studio 2019 Community, я установил MySql сервер 8.0.19, включая MySql для Visual Studio и MySql Connector /Net. У меня есть проект с файлом EDMX, который не смог открыть со следующим сообщением об ошибке:
1002 *
1007 * Я искал долго и упорно на Инте rnet и у меня есть необходимые ингредиенты, я установил пакеты NuGet MySql .Data 8.0.19, MySql .Data.EntityFramework 8.0.19 У меня есть
<DbProviderFactories>
с соответствующим атрибутом имени инварианта
invariant="MySql.Data.MySqlClient"
и в На самом деле, проект компилируется и запускается правильно, проблема в дизайнере EDMX.
Теперь я запустил экземпляр Visual Studio через отладчик другого экземпляра Visual Studio и использовал параметры Exception для прерывания работы на одном уровне. любого исключения, и действительно, когда я пытаюсь загрузить конструктор EDMX, выдается System.IO.FileLoadException. Я включил журнал привязки сборки Fusion в реестре, и этот журнал отображается в поле $(exception).FusionLog
:
=== Pre-bind state information ===
LOG: DisplayName = MySql.Data.EntityFramework, Version=8.0.19.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d
(Fully-specified)
LOG: Appbase = file:///C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/Common7/IDE/
LOG: Initial PrivatePath = NULL
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Users\USER\AppData\Local\Microsoft\VisualStudio\16.0_3f7de7a6\devenv.exe.config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Machine configuration policy file redirect found: 8.0.19.0 redirected to 8.0.19.0.
LOG: Post-policy reference: MySql.Data.EntityFramework, Version=8.0.19.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d
LOG: The same bind was seen before, and was failed with hr = 0x80131040.
Я посмотрел в своем machine.config
и ничего не нашел необычного :
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="6.7.4.0" newVersion="8.0.19.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="MySql.Data.Entity" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="6.7.4.0" newVersion="8.0.19.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="MySql.Web" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="6.7.4.0" newVersion="8.0.19.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Я также попытался изменить записи oldVersion
на oldVersion="0.0.0.0-8.0.19.0"
, но ничего не получилось (я перезапускал Visual Studio после каждого изменения).
Я потерян! Пожалуйста, помогите мне, спасибо.