Ошибка конфигурации ASP.Net MVC4 после установки MySQL Connector.NET

Я создаю проект веб-приложения MVC4. Когда я использую пустой проект и просто запускаю его в браузере, он работает отлично. Но проблема в том, что я пытаюсь создать проект интернет-приложения вместо Empty project.Once я создал интернет-проект приложения и при попытке запустить его в браузере, он показывает следующую ошибку конфигурации. Как я понял, это связано с ссылкой на сборку соединителя MySQL. Последовательная ошибка.

Server Error in '/' Application.

Configuration Error

Description: An error occurred during the processing of a configuration file required to service    this request. Please review the specific error details below and modify your configuration file appropriately. 

Parser Error Message: Could not load file or assembly 'MySql.Web.v20, Version=6.9.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. The system cannot find the file specified.

Source Error: 


Line 265:      <providers>
Line 266:        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
Line 267:        <add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web.v20, Version=6.9.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Clear" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
Line 268:      </providers>
Line 269:    </membership>

Source File: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config    Line: 267 

Assembly Load Trace: The following information can be helpful to determine why the assembly 'MySql.Web.v20, Version=6.9.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' could not be loaded.

Ответ 1

Эта неприятная ошибка возникает при установке MySQL.NET Connector 6.9.4 (возможно, и в других версиях), потому что если вы не снимите флажок "Веб-провайдеры" во время установки, она записывает в ваш machine.config, который приводит к этой ошибке. Обязательно прочитайте весь ответ, прежде чем применять какие-либо из этих шагов, чтобы начать с того места, где вы должны начать.

Реальная проблема с другими предложениями заключается в том, что если вы не используете MySQL в каждом проекте, просто добавляете ссылку на MySQL dll для смягчения проблемы в каждом проекте, это не вариант. Каждый ваш проект, который использует ASP.NET, потребует его из-за строк, добавленных в конфигурацию машины установщиком!

Чтобы решить проблему должным образом:

  1. Запустите установщик и нажмите "Изменить".
  2. затем полностью удалите раздел "Веб-провайдеры".
  3. Это приведет к удалению объявлений с вашего machine.config (что я считаю ужасным, что нужно делать в установщике, но установщик создает их без какого-либо уведомления).
  4. После этого рекомендуется проверить конфигурацию машины, которую вы можете найти здесь. И убедитесь, что он не испортил 32 и 64 конфигураций машины.
  5. Когда конфигурация вашего компьютера станет чистой, добавьте сборку MySql.Web в свой проект и добавьте объявление MySQLMembershipProvider в свой проект. Web.config - стандартная процедура.
  6. Наслаждайтесь чистой установкой соединителя MySQL.

Но если вы сделаете это так, вы можете попытаться добавить Ado NET Entity Data model после, правильно? Если это так, скорее всего, вы не видите вариант для MySQL как доступного источника данных в мастере. Это связано с тем, что из версии 6.7 при установке MySQL Connector.NET он больше не будет регистрироваться как поставщик DDEX автоматически.

Чтобы устранить эту проблему, вам необходимо скачать отдельный установщик при условии специально для MySQL и.NET из здесь или Студия интеграции плагин только Визуальная непосредственно из здесь.

Обязательно проверьте интеграцию и соединитель Visual Studio во время мастера установки на любом из указанных выше инсталляторов.

Ответ 2

Это решение работало для меня:

<siteMap>
      <providers>
        <remove name="MySqlSiteMapProvider"/>
      </providers>
    </siteMap>

Я думаю, что они забыли поместить файл MySql.Web в GAC (глобальный кэш сборок)

Ответ 3

-Open установщик MySQL
-Click на вкладке "Удалить" справа.
-Check все, что связано с.Net (например, разъемы)
Кнопка -Click удалить
-Close и снова открыть визуальную студию
-Upvote Ответ Огняна Димитрова

Ответ 4

Существует еще одно решение: я вручную открыл machine.config и закомментировал раздел <Sitemap> (он почти в нижней части файла). Сохраните его как администратор и viola. Оно работает.

Решения, использующие sitemaps, не повреждены, не затрагивая их, и мои решения, в которых мне нужно использовать соединитель MySQL, также работают так, как ожидалось.

Ответ 5

наконец, я решил это самостоятельно, и это было небольшое решение. Просто добавьте ссылку на Web.Mysql dll Web.Mysql и теперь он работает правильно.

Ответ 6

Я знаю, что это было задано некоторое время назад, но то, что сработало для меня, добавляло MySql.Data на MySql.Data и MySql.Web на мой проект.

Ответ 7

просто установите последний MySql.Net Connector и выберите "Complete" install, он исправит ваши проблемы.