У меня есть служба WCF, которая использует Entity Frameworks для подключения к базе данных, все они размещены в службе Windows. Проблема заключается в том, что при обработке первого сообщения, которое вызывает доступ к базе данных, возникает исключение: «Не удается разрешить сборку« MyService.exe »». По сути, при работе в качестве службы Windows EF не может найти встроенные ресурсы.
Я проверил наличие 3 ресурсов: csdl, ssdl, msl, используя .Net Reflector в статическом exe, и они там. Я использую эту строку подключения
metadata=res:// MyService.exe/MyModel.csdl|
res:// MyService.exe/MyModel.ssdl|
res://MyService.exe/MyModel.msl; provider=...".
Я добавил код в Службу Windows для перечисления встроенных ресурсов в методе OnStart при запуске службы (используя GetExecutingAssembly (). GetManifestResourceNames ()), и он там ничего не показывает. [конечно, win svc устанавливается / запускается с помощью installutil + net start]. Когда я запускаю практически идентичный проект, ссылаясь на все те же источники, включая app.config, как приложение с интерактивной консолью (разумеется, на Main ()), все работает нормально, включая перечисление ресурсов (все 3 файла отображения edmx) здесь). Win Svc работает под локальной системой.
Кто-нибудь еще испытывал трудности с использованием EF в службе Windows? Любые идеи о том, что идет не так или как диагностировать / исправить это?