使用VS Code開發.Net Core 2.0 MVC Web應用程序教程之二


  好了,廢話也不多說,咱們直接來看看這款MVC的造型——你可能會大吼:“這……這特么的都是些什么鬼?”

 

 

  靠,告訴你吧,我也不知道這都是些什么鬼,反正以前我是沒有見過這樣的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 項目名稱。如下:

 

 

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

 

 

  然后,添加引用……創建了項目之后當然要添加引用啊,不引用我咋用?可是我找了老半天,不知道在哪添加引用,真是蛋疼了。都找不到一個生成dll的地方。我去,生成dll?想起來了,剛剛用help看集成終端命令的時候發現有一個build命令,應該是它吧?試一試唄。(下圖:找不到添加引用的地方很懵逼)

 

 

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

 

 

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

 

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

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

 

 

  不會和這個鬼東西有關吧?看起來很像是添加引用啊。添加引用要在工程文件中手寫?我去,真是low到家了。不管怎么樣,我們來試一下能不能在這里面吧BLL、Models和Common引用進來吧?我試了一下,不行,但是當我把PackageReference改成ProjectReference后,居然成了!!!我特么真是天才(吹流弊的哈,我是在微軟官方文檔里找了老半天才發現的)

 

代碼如下:

 

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.Models\MyCMS.Models.csproj" />
    <ProjectReference Include="..\MyCMS.BLL\MyCMS.BLL.csproj" />
    <ProjectReference Include="..\MyCMS.Common\MyCMS.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.Models\MyCMS.Models.csproj" />
    <ProjectReference Include="..\MyCMS.DAL\MyCMS.DAL.csproj" />
    <ProjectReference Include="..\MyCMS.Common\MyCMS.Common.csproj" />
  </ItemGroup>

</Project>
 

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

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

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <ProjectReference Include="..\MyCMS.Models\MyCMS.Models.csproj" />
    <ProjectReference Include="..\MyCMS.Common\MyCMS.Common.csproj" />
  </ItemGroup>

</Project>

 

  好啦,測試一下,比如說在BLL中寫個方法,然后在Web中調一下之類的,一切正常,過程我就不描述啦。具體的操作過程,我們在接下來的項目中繼續倒騰吧。

今天先整到這里,午餐時間到了。

 

下一篇↓↓↓

 

使用VS Code開發.Net Core 2.0 MVC Web應用程序教程之三(配置文件讀取)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM