После создания приложения WinForms с использованием EF 6.0 с базой данных сначала я получаю следующие ошибки случайным образом при первом запуске приложения.Большую часть времени перезапуск приложения решает проблему.
'System.Text.DecoderFallbackException' в mscorlib.dll Die Bytes [E9] im Index 5974 Кодовая страница в кодировке Unicode übersetzt Unicode nicht von der angegebenenВерден.(Байты [E9] с индексом 5974 не могут быть переведены из данной кодовой страницы в Unicode)
'System.Xml.XmlException' в System.Xml.dll Ungültiges Zeichen in der angegebenen Codierung.Zeile 5337, позиция 50. (Недопустимый символ в кодовой странице. Строка 5337, позиция 50)
'System.Data.Entity.Core.MetadataException' в указанной схеме EntityFramework.dll недопустима.Ошибки: DataAccess.AppName.AppName.ssdl (5337,50): ошибка 0005: Ungültiges Zeichen in der angegebenen Codierung.Zeile 5337, позиция 50. (Недопустимый символ в кодовой странице. Строка 5337, позиция 50)
Это происходит только, но не всегда, при первом запуске приложения.Кажется, нет никакой логики за ошибкой.Я могу сделать 20 сборок, не получая этих исключений, и в некоторые дни я просто делаю одну, и приложение показывает эти сообщения об ошибках, и его необходимо перезапустить, потому что метаданные для EF не загружены.
Я проверил AppName.ssdl
файл в папке obj в папке предоставления:
<AssociationSet Name="FK_Folio_EST_Schaetzperioden" Association="Self.FK_Folio_EST_Schaetzperioden">
В строке нет необычного символа.Позиция 50 - это r
.
Приложение построено на framework 4.51, x86, EF 6.1.3
.
Мне удалось отследить проблему до
System.Data.Entity.Core.Metadata.Edm.MetadataArtifactLoaderResource.LoadResource
, которая использует GetManifestResourceStream.
Это приводит к
с перерывами.
Есть идеи?