首先使用带有数据库的EF 6.0构建WinForms应用程序后,在应用程序的第一次启动时我随机得到以下错误。多数情况下,重新启动应用程序可以解决问题。
mscorlib.dll中的'System.Text.DecoderFallbackException'死字节[E9] im索引5974könnennicht von der angegebenen Unicode代码页 Übersetztwerden。 (索引5974的字节[E9]无法翻译 从给定的代码页到Unicode)
System.Xml.dll中的'System.Xml.XmlException'在Windows中解压缩 Angegebenen Codierung。 Zeile 5337,位置50。(中的无效字符 提供代码页。行5337,位置50)
EntityFramework.dll中的'System.Data.Entity.Core.MetadataException' 指定的架构无效。错误: DataAccess.AppName.AppName.ssdl(5337,50):错误0005:Ungültiges Zeichen in der angegebenen Codierung。 Zeile 5337,位置50。 (提供代码页的字符无效。行5337,位置50)
它仅在应用程序首次启动时发生,但并不总是如此。错误背后似乎没有逻辑。我可以做20个构建而不会遇到那些异常,有几天我只做了一个,应用程序显示了这些错误消息,并且由于未加载EF的元数据而不得不重新启动。
我在给定位置检查了obj-Folder中的AppName.ssdl
文件:
<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。
间歇性地
有什么想法吗?