Ошибка «Entity Container Must Be Unique» при продвижении в тестовую среду - PullRequest
0 голосов
/ 01 марта 2012

У меня есть решение (служба WCF), в котором есть много модулей Entity Framework.Каждый DLL назван по-своему.

Когда я (и мои коллеги) запускаю это локально, все работает нормально.Когда мы запускаем автоматическую сборку и копируем файлы на Dev-сервер, все работает нормально.

Но когда мы копируем файлы на тестовый сервер, я получаю сообщение об ошибке:

Resolution of the dependency failed, type = "OrderManagementInterfaces.IOrderModel", name = "(none)".  
Exception occurred while: Calling constructor OrderDAL.OrderEntities(System.String connectionString).  
Exception is: MetadataException - Schema specified is not valid. Errors: 
OrderDataModel.csdl(3,4) : error 0019: The EntityContainer name must be unique. An EntityContainer with the name 'OrderEntities' is already defined.

Itзатем следует со всеми частями моей схемы, говоря, что каждая из них уже определена.Когда я впервые получил эту ошибку, это была ошибка того же типа, но для другого модуля Entity Framework.(Не уверен, важно это или нет.)

Итак, мой вопрос: существует ли настройка IIS, которая может вызвать это?Почему это работает на моем сервере разработки, а не на моем тестовом сервере?

И что я могу сделать, чтобы это исправить.

ПРИМЕЧАНИЕ: Я проверял много раз, чтобы увидетьесли у меня есть дубликат имени модуля или контейнера.Существует только один модуль и контейнер с именем OrderEntities.

Я видел, что иногда это продукт метаданных части строки подключения.Моя строка подключения выглядит следующим образом:

metadata=res://*/OrderDataModel.csdl|res://*/OrderDataModel.ssdl|res://*/OrderDataModel.msl;provider=...

Все остальные совпадают, кроме имени модели данных.

Примечание. При развертывании в IIS.Я удаляю все файлы и копирую только вещи из автоматической сборки.(То же самое в обоих местах.)

1 Ответ

0 голосов
/ 06 марта 2012

Оказывается, это не имело никакого отношения к моему коду.

У меня была неверно установлена ​​личность в пуле приложений. Как только это было переключено на правильное значение, все это начало работать:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...