C# Mono中的System.Data.Entity.Design.PluralizationServices错误

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

我有一个成熟的C#应用程序,一直在移植到Linux(Mono)的Windows上运行,我遇到了一个无法解决的错误,即System.Data.Entity.Design中的MultiralizationServices

导致问题的代码行如下所示:

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": ""
    }
    

您能等一会儿吗?发布数据还不清楚…如果它能解决我的问题,那么它可能是唯一的选择。然而,我想了解我为什么会有这个问题,以及是否有可能首先解决它。;请通过翻译非英语部分,确保您的帖子对其他人尽可能有用。@Nathantugy Chinese被删除,我测试该软件包是否启用。