перемещение файла EDMX в новый проект вызвано: System.Data.MetadataException: невозможно загрузить указанный ресурс метаданных - PullRequest
6 голосов
/ 25 декабря 2010

У меня есть проект ASP.NET MVC 2. Я создал файл edmx в проекте библиотеки классов, который содержит модель.

Теперь я создал другую библиотеку классов, которая называется общей, и переместил туда файл edmx. решены некоторые проблемы, все компилируется, но не может найти ресурс строки подключения во время выполнения.

Я скопировал часть ConnectionString файла Web.Config в основной файл, старый файл библиотеки классов app.config и новый файл библиотеки классов app.config.

Все еще получаю эту ошибку:

System.Data.MetadataException: невозможно загрузить указанные метаданные ресурс.

Строка 75: public myProjdb (): base ("name = myProjdb", "MyProjdb")

в файле MyProj.Designer.cs.

Есть идеи, как решить эту проблему?

Есть ли лучший способ хранить данные строки подключения?

1 Ответ

12 голосов
/ 26 декабря 2010

У вас должна быть возможность использовать ту же модель в других проектах, если вы используете строку подключения, которая включает имя сборки.В строке подключения, имеющейся в файле web.config, попробуйте изменить * в строке подключения с

metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=... 

на что-то вроде этого:

metadata=res://ClassLibrary1/Model1.csdl|res://ClassLibrary1/Model1.ssdl|res://ClassLibrary1/Model1.msl;provider=System.Data.SqlClient;provider connection string=...
...