2017-08-15 63 views
2

我有一個ASP.NET MVC 5/.NET 4.7項目,我想升級到ASP.NET Core。如何從ASP.NET Core引用.NET框架

MVC前端引用了一個服務層項目(SL),該項目使用一個使用實體框架構建的數據層(DAL)項目。

我們的評估是Entity Framework Core仍缺少我們需要的功能,我們不應該將DAL項目升級到.NET Core。

我的項目應該能夠一起工作的框架是什麼?我們是否可以將一個項目升級到.NET Core並將剩餘的部分保留在.NET Framework中?

+0

斯科特Hanselman的[這](https://www.hanselman.com/blog/HowToReferenceAnExistingNETFrameworkProjectInAnASPNETCore10WebApp.aspx)博客應該是help.Not的雖然這肯定有多少是今天的有效期在Visual Studio 2017 .Net核心2.0。 – RBT

+1

我轉換了項目http://www.natemcmaster.com/blog/2017/03/09/vs2015-to-vs2017-upgrade/。我手工完成了第一個項目的轉換,然後我將它用於轉換其他項目的「模板」。我還編寫了一個小腳本,從pacakges.config獲取所有軟件包引用,並將它們作爲添加到項目文件中。我在項目中使用了 net47和' win-x64'。我創建了一個新的aspnetcore web projetct(net47)並添加了所需的內容。我還沒有轉換EntityFramework DAL項目 – mortb

+0

我沒有轉換EF項目的原因是它使用.edmx,我不確定是否有任何使用新項目格式的.edmx支持。 – mortb

回答

1

我的項目目標是什麼框架能夠一起工作?我們是否可以將一個項目升級到.NET Core並將剩餘的部分保留在.NET Framework中?

您不需要製作任何目標.NET Core以便使用ASP.NET Core。我建議使用.NET Core SDK(和相關的csproj文件格式),但是您可以將目標框架設置爲桌面框架版本(例如net47),然後您應該沒問題。

2

如果你想切換到.NETCore,仍然可以使用舊的庫,你應該標記.NETFramework。
所以創建新項目的選擇時:

核心ASP.NET Web應用程序(.NET框架)

另外本月(其實昨天).NETCore 2.0以及2.0 EFCore釋放。 這兩個框架有更多的功能,所以我建議遷移到2.0項目。
此外,EFCore 2.0現在應該具備所需的大部分功能,所以我也會使用它。

+0

看起來,「ASP.NET核心Web應用程序(.NET Framework)」已經從VS 2017中消失爲15.3.2中的項目模板。 – Bent

+1

它並沒有消失,但移動。 創建新建項目時,請選擇「ASP.NET核心Web應用程序」 - >確定。 然後新的對話框將出現,頂部有2個組合:類型和版本,以及默認值目標是[.NET Core] [ASP.NET Core 2.0],因此首先更改爲[.NET Framework]。此外還有模板選擇:空/ Web API/Web應用程序。/Angular/React/... – borisdj

相關問題