當前位置:
首頁 > 知識 > 使用VS Code開發.Net Core 2.0 應用程序

使用VS Code開發.Net Core 2.0 應用程序

咱們直接來看看這款MVC的造型——你可能會大吼:「這……這特么的都是些什麼鬼?」

使用VS Code開發.Net Core 2.0 應用程序

告訴你吧,我也不知道這都是些什麼鬼,反正以前我是沒有見過這樣的MVC。咦,老紙的config文件呢?跑哪去了?config不是說好的標配嗎?我上哪配置資料庫連接去?還有那個wwwroot又是什麼玩意兒?還有這個__layout下邊怎麼有environment那個東西?

先不管了,我們先來把我們的系統架構搭建起來吧,這些配置上的問題回頭再收拾它。

那好,我們要做的是一個CMS系統,是一個不大不小的玩意兒。那要是把所有的東西都放在一個項目下,回頭弄起來肯定是不會太舒服的。我們也利用當前比較流行的簡單三層架構,給加一些相關項目進去吧。

額,簡單三層架構,都知道吧?三層架構呢分為UI、BLL和DAL,我們的MVC這一整塊就當UI了,除了BLL和DAL外,還得加個Models用存放各種模型,有一個DBUtility用於提供資料庫的訪問。但是呢,我們這裡面的資料庫訪問直接會使用Entity Framework來完成,所以那誰誰誰就不需要了。

好,下邊開始快速創建三個類庫項目(BLL、DAL、Models)出來。調出 集成終端,用dotnet new -help命令看看創建類庫的命令是啥?好了,發現了——是它:dotnet new classlib,然後 -n 項目名稱。如下:

使用VS Code開發.Net Core 2.0 應用程序

好了,我們創建好了Models,下邊接著快速弄出BLL和DAL來,然後還有一個用於一般性操作,比如字元轉換啊、文件加密啊之類的公用類common。如下圖:

使用VS Code開發.Net Core 2.0 應用程序

然後,添加引用……創建了項目之後當然要添加引用啊,不引用我咋用?可是我找了老半天,不知道在哪添加引用,剛剛用help看集成終端命令的時候發現有一個build命令,應該是它吧?試一試唄。

使用VS Code開發.Net Core 2.0 應用程序

好,我們在集成終端中輸入命令dotnet build MyCMS.BLL/MyCMS.BLL.csproj先生成BLL試一下,回車,哈哈哈,成了!

使用VS Code開發.Net Core 2.0 應用程序

接下來生成另外的三個項目。命令分別是dotnet build MyCMS.DAL/MyCMS.DAL.csprojdotnet build MyCMS.Modles/MyCMS.Models.csproj再和dotnet build MyCMS.Common/MyCMS.Common.csproj。挺好玩是吧?

但是我們的問題還沒有解決啊,就是,怎麼進行項目間的相互引用,不會讓我去把生成的dll直接拷貝過來放在當前項目下吧?

於是我去翻了微軟的官方文檔,開源社區什麼的,最後在我們自己的項目里的MVC項目下工程文件MyCMS.Web.csproj中發現了下邊這個東西——

使用VS Code開發.Net Core 2.0 應用程序

不會就是這個鬼東西吧?添加引用要在工程文件中手寫?不管怎麼樣,我們來試一下能不能在這裡面吧BLL、Models和Common引用進來吧?我試了一下,不行,但是當我把PackageReference改成ProjectReference後,居然成了!!!

代碼如下:

使用VS Code開發.Net Core 2.0 應用程序

MyCMS.Web.csproj中配置的引用:


<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>

<TargetFramework>netcoreapp2.0</TargetFramework>

<MvcRazorCompileOnPublish>true</MvcRazorCompileOnPublish>

<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81;</AssetTargetFallback>

<UserSecretsId>aspnet-MyCMS.Web-45772B25-03D5-4AE3-8841-5C07D7104590</UserSecretsId>

</PropertyGroup>

<ItemGroup>

<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0-preview2-final" />

</ItemGroup>

<ItemGroup>

<ProjectReference Include="..MyCMS.ModelsMyCMS.Models.csproj" />

<ProjectReference Include="..MyCMS.BLLMyCMS.BLL.csproj" />

<ProjectReference Include="..MyCMS.CommonMyCMS.Common.csproj" />

</ItemGroup>

<ItemGroup>

<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0-preview2-final" />

</ItemGroup>

</Project>

MyCMS.BLL.csproj中配置的引用:


<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>

<TargetFramework>netstandard2.0</TargetFramework>

</PropertyGroup>

<ItemGroup>

<ProjectReference Include="..MyCMS.ModelsMyCMS.Models.csproj" />

<ProjectReference Include="..MyCMS.DALMyCMS.DAL.csproj" />

<ProjectReference Include="..MyCMS.CommonMyCMS.Common.csproj" />

</ItemGroup>

</Project>

MyCMS.DAL.csproj中配置的引用:


<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>

<TargetFramework>netstandard2.0</TargetFramework>

</PropertyGroup>

<ItemGroup>

<ProjectReference Include="..MyCMS.ModelsMyCMS.Models.csproj" />

<ProjectReference Include="..MyCMS.CommonMyCMS.Common.csproj" />

</ItemGroup>

</Project>

好啦,測試一下,一切正常。具體的操作過程,我們在接下來的項目中繼續整吧。

使用VS Code開發.Net Core 2.0 應用程序



  • 更多優質內容推薦:

  • 有錢任性,某公司豪擲500萬幫助20左右年輕人找工作,起因是做善良的人:

  • http://www.ujiuye.com/zt/jyfc/?wt.bd=zdy35845tt

  • 學IT,用周末給自己加薪!

  • http://www.ujiuye.com/zt/zmb/?wt.bd=zdy35845tt

  • IT職業教育:http://xue.ujiuye.com/

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT優就業 的精彩文章:

dubbo源碼分析:超時原理以及應用場景
分散式web架構中對session同步的常用處理方法及優缺點
同一個表單,傳遞到不同的處理器中

TAG:IT優就業 |

您可能感興趣

Office 365 應用開發的.NET Core 模板庫
使用C#開發Android應用之WebApp
NET Core開發日誌——WCF Client
PowerVR開發工具和SDK 2018 Release1正式發布!
C#開發Android應用之WebApp
BCH應用開發的門戶網站:developer.bitcoin.com
貿澤即日起供應Cypress PSoC 6 WiFi-BT Pioneer套件,用於開發穩健的物聯網及可穿戴應用
BCH新開發者平台Developer.bitcoin上線,加速BCH應用開發
Android開發學習-Day17-19 多線程&Service
為什麼 web 開發人員需要遷移到.NET Core,並使用 ASP.NET Core MVC 構建 web和API
watchOS 5 將停止支持為 watchOS 1 開發的應用
使用 Visual Studio Code 搭建 C/C+開發和調試環境
Magic Leap One開發NAB專屬AR應用程序
VR遊戲《Wands》開發商Cortopia完成約879萬RMB融資
Google I/O 開發者大會:Android Things 1.0問世
ComponentOne 控制項集發布2018V1版本,助您加速 .NET項目開發
RED正在開發基於Facebook Surround360技術的VR相機
ASP.NET Core MVC+EF Core從開發到部署
Google的DeepMind開發AI 可將2D圖片渲染成3D
Android P開發者預覽版公布 Nexus 6P/5X無緣