.NET MySQL Connector, конфликтующие dbproviderctories

Я использую разъем .NET MySQL с рамкой сущности 4, и все работало отлично, но я Хотели упаковать файлы DLL Client Client MySQL с моим приложением при развернутии на серверах, поэтому нам не нужно беспокоиться о установке MySQL на каждом сервере, каждое приложение будет иметь правильную копию, которая ему нужна.

Чтобы сделать это возможным, я уверен, что ссылки MySQL имели «копировать локальный», поэтому они будут скопированы в папки Bin и добавили следующее в My App.config:

<system.data>
    <DbProviderFactories>
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
</system.data>

Это работает, и я могу развернуть Приложение без установки MySQL на удаленном сервере, но теперь у меня есть проблема в моей локальной машине Dev (где I сделать , установлен разъем MySQL), и я получаю эту ошибку, когда EF пытается подключиться :

столбец «инвариантное имя» ограничен уникальным. Ценить 'Mysql.data.mysqlclient' уже присутствует.

Если я прокомментирую XML, добавил выше в App.config, ошибка уходит. Это, вероятно, поскольку тот же драйвер устанавливается в системе и находится в Machine.config.

Что такое решение? Я бы предпочел не придется вручную комментировать и безотрезить линию в зависимости от того, какую систему я создаю приложение для.

22
задан Kekoa 8 September 2011 в 20:31
поделиться