.NET Core爬坑記 1.0 項目文件


前言:

  之所以要寫這個系列是因為在移植項目到ASP.NET Core平台的過程中,遇到了一些“新變化”,這些變化有編譯方面的、有API方面的,今天要講的是編譯方面的一些問題。我把它們整理后分享出來,以便各位博友不要再遇到這些坑。

  在Dotnet Core RC2版本中,project.json 管理着整個項目,包括編譯文件、依賴包管理、版本信息、平台依賴與發布等功能。

關於項目中引用:

比如我們一般看到Project.json中一般會有如下內容:

"dependencies": { "Newtonsoft.Json": "8.0.3" }

這是一段標准的引用一個程序集的配置文件; 但是如果我們想引用的是一個解決方案中的其它項目,那應該如何編寫呢?

 "dependencies": { "項目名稱": { "target": "project", "type": "build" } }

 這樣在編譯這個項目的時候,也會將引用的項目一起編譯。

編譯文件:

buildOptions節點定義了如何編譯和編譯哪些文件等。

1. compile 節點 : 文件編譯,是一個數組,確定一組要編譯的文件進行定義, **.cs (默認) 表示 包含子目錄下的所有.cs文件,如果要鏈接共用的代碼進行編譯的話可以在這個地方設置。 這種方式相當不錯,直接可以引用另一個目錄下的文件進行編譯,非常方便!!!

2. defines 節點 : 編譯變量的定義,用於條件編譯,如多平台判斷。

上段代碼吧:

 "buildOptions": { "compile": [ "*.cs", "../Mvc/**.cs" ] }

這段代碼說明了,我們要編譯本項目目錄的所有.cs文件和上層Mvc項目目錄及子目錄的所有.cs文件。

編譯宏:

#if NET451 #if NETCOREAPP1_0 #if NETSTANDARD1_5

以上是三個平台的編譯宏,大家一看就懂的。

最后:

其實說了半天以上都不是真的坑,在6月27號的RTM版本中,Project.json將不再存在,取代它的將是.csproj, 沒錯它又回來了!!!

不過MS也說了,要將上面這些新的特性加入到其中,所以還好吧,所以我們的踩坑記,還是蠻重要的,大家說是吧。

 


免責聲明!

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



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