C# Mono中的System.Data.Entity.Design.PluralizationServices错误
我有一个成熟的C#应用程序,一直在移植到Linux(Mono)的Windows上运行,我遇到了一个无法解决的错误,即System.Data.Entity.Design中的MultiralizationServices 导致问题的代码行如下所示:C# Mono中的System.Data.Entity.Design.PluralizationServices错误,c#,entity-framework,mono,C#,Entity Framework,Mono,我有一个成熟的C#应用程序,一直在移植到Linux(Mono)的Windows上运行,我遇到了一个无法解决的错误,即System.Data.Entity.Design中的MultiralizationServices 导致问题的代码行如下所示: PluralizationService pluralizationService = PluralizationService.CreateService(System.Globalization.CultureInfo.InvariantCultur
PluralizationService pluralizationService = PluralizationService.CreateService(System.Globalization.CultureInfo.InvariantCulture);
虽然在Microsoft.NET下运行的Windows应用程序上从未出现过任何问题,但当程序在Mono下运行时,我会遇到以下错误:
Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
File name: 'System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
Unhandled Exception:
System.TypeInitializationException: An exception was thrown by the type initializer for MudSharp.Framework.LanguageHelpers ---> System.InvalidProgramException: Invalid IL code in System.Data.Entity.Design.PluralizationServices.PluralizationService:CreateService (System.Globalization.CultureInfo): method body is empty.
我发现另一个似乎有类似问题的人只是简单地将.NET版本的.dll复制到他们的Mono项目中,解决了他们的问题。我尝试了相同的方法,但随后遇到以下错误:
Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
File name: 'System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
Unhandled Exception:
System.TypeInitializationException: An exception was thrown by the type initializer for MudSharp.Framework.LanguageHelpers ---> System.InvalidProgramException: Invalid IL code in System.Data.Entity.Design.PluralizationServices.PluralizationService:CreateService (System.Globalization.CultureInfo): method body is empty.
我在Ubuntu上使用Mono 3.10。我找不到任何关于Mono不支持这些功能的建议,我只是不确定如何继续调试这个问题
如果您有任何帮助,我们将不胜感激。看起来Mono的后续版本确实支持多元化服务-请参阅 然而,多元化服务目前只支持 你试过这个吗:
PluralizationService pluralizationService = PluralizationService.CreateService(CultureInfo.GetCultureInfo("en-us"));`
仅供参考,使用EntityModelSchemaGenerator类很容易扩展到其他语言。- 是实体框架多元化服务的单体兼容替代品
- 使用Plurally测试库源代码
- IDE:Xamarin Studio 6.1.3
- 框架:Mono/.net4.5
- 添加NuGet包:Newtonsoft.Json,Plurally
- JsonClassGenerator.cs第10,39行
- 使用复数
using Plurally; private Pluralizer pluralizationService = new Pluralizer(new CultureInfo("en-us"));
- JsonType.csline 8
using Plurally;
- Xamasoft.JsonClassGenerator.JsonClassGenerator Generator评估结果
{ "UserAccount": "", "UserPassword": "", "ExtraInfo": "" }