【问题标题】:Why can't I use Class Library with EF 6.1.3 from Asp.Net 5 MVC 6 project为什么我不能在 Asp.Net 5 MVC 6 项目中使用带有 EF 6.1.3 的类库
【发布时间】:2016-01-05 11:33:49
【问题描述】:

我有一个 .net 4.5.1 类库,其中包含实体框架 6.1.3 数据库优先模型,当我从单元测试项目中对其进行测试时,它工作正常。

但是当我尝试从我的 ASP.NET 5 MVC 6 项目(仅限 dnx451)中使用它时,我总是收到一条错误消息:

FileNotFoundException: Couldn't find file EntityFramework.resources.
at System.Reflection.RuntimeAssembly.InternalGetSatelliteAssembly(String name, CultureInfo culture, Version version, Boolean throwOnFileNotFound, StackCrawlMark& stackMark)
at System.Resources.ManifestBasedResourceGroveler.GetSatelliteAssembly(CultureInfo lookForCulture, StackCrawlMark& stackMark)

我认为它起初可以工作,但后来停止工作,我找不到原因。

任何人以前见过这个错误,或者知道它是什么??

【问题讨论】:

  • 我也遇到了这个确切的错误。我们将不胜感激。

标签: c# asp.net asp.net-mvc entity-framework


【解决方案1】:

好的,这是一个错误,在这里报告:https://github.com/aspnet/dnx/issues/3047

Joplaal 评论说:

这是一个非常重要的问题,因为它阻止了使用非常流行的 库,例如 DNX 项目中的 Entity Framework 6,当当前 线程文化不同于不变的文化。

在我们等待修复时,您可以通过将其添加到 Startup 的 Configure 方法来移除任何本地化支持。

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    //...
    var localizationOptions = new RequestLocalizationOptions()
    {
        SupportedCultures = new List<CultureInfo> { new CultureInfo("") },
        SupportedUICultures = new List<CultureInfo> { new CultureInfo("") }
    };

    var invariantCulture = new RequestCulture(new CultureInfo(""), new CultureInfo(""));

    app.UseRequestLocalization(localizationOptions, invariantCulture);
    //...
}

我在谷歌上搜索这个非常努力,它让我填写了验证码。

【讨论】:

  • 你是对的,它正在工作。我在修复后出现另一个错误,指出没有为具有不变名称“System.Data.SqlClient”的 ADO.NET 提供程序找到实体框架提供程序,但我通过显式引用 EntityFramework.SqlClient.dll 设法解决了这个问题。由于 EntityFramework nuget 没有设法修复它。谢谢您的帮助..
猜你喜欢
  • 1970-01-01
  • 2015-03-21
  • 2015-04-03
  • 2015-03-18
  • 2015-10-22
  • 2016-09-01
  • 2013-09-24
  • 1970-01-01
  • 2016-04-29
相关资源
最近更新 更多