我正在ASP.Net 5和ASP.NET MVC 6中开始一个新项目,在DNX上运行,并从Visual Studio 2015的默认MVC 6模板开始。我的数据层使用Entity Framework 7和代码 - 第一种方法。
我的Web应用程序项目在新方法中:xproj文件,引用不同的json配置文件(项目,解决方案,npm和bower管理器)。
很长一段时间.Net开发人员,我总是将我的数据访问层放在.Net Assembly projet(或几个)中,然后引用到我的每个客户端项目中(例如:Web应用程序,Web API,控制台应用程序或单元测试项目。)
我的问题是:
答案 0 :(得分:1)
可以,但您必须管理此问题:https://github.com/aspnet/dnx/issues/3047
您必须通过将此添加到Startup的配置方法中来删除任何本地化支持:
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);
//...
}
否则你将遇到这个FileNotFoundException:
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)
答案 1 :(得分:0)
按照这个SO问题(What are my options for sharing code between DNX / ASP.NET 5 projects (project.json / xproj) and other C# projects (csproj) within a single solution?) - 顺便说一下我的问题 - 我决定尝试默认的approch,这是一个&#34; 类库(包) 强>&#34;项目
我必须更改对运行时的引用才能使其正常工作:
dnx451
和dnxcore50
。net451
和dotnet5.4
创建了一个project.json文件。我必须将后者更改为dnx451
和dnxcore50
以使一切正常。
这仍然是一个无法解释的解决方案,因为AFAIK,dnx451
和dnxcore50
现在应该由dnx451
和dnxcore50
取代,但我必须做相反的事情,或者我的现有的参考文献(包括"EntityFramework.Commands": "7.0.0-rc1-final"
)将被打破。
无论如何,该解决方案正在运行,因此对于那些有兴趣在共享项目中分离其EF逻辑的人,我建议阅读本文,该文章解释了如何在类库项目中启用ef命令(迁移和数据库更新):{ {3}}