global.json 和 src 文件夾有多重要?
在 VS 2015 中,當您使用這種方法創建新的 MVC 6.0 應用程序時:
File-->New-->Project-->ASP.NET Web Application-->ASP.NET 5 Preview Templates您最終在磁碟上有以下文件結構:
- 人工製品
- 原始碼
- 我的項目.sln
- 全域.json
相反,如果我決定先創建一個空白解決方案,如下所示:
File-->New-->Project-->Other Project Types-->Visual Studio Solutions-->Blank Solution並開始向此解決方案添加一個新的 ASP.NET Web 應用程序項目;你最終會得到一個沒有文件
global.json也沒有src文件夾的文件結構。根據文件,global.json 文件用於整體配置解決方案。預設情況下,它僅包含兩個部分,項目和 sdk。
該
projects屬性指定哪些文件夾包含解決方案的原始碼。預設情況下,項目結構將源文件放置在 src 文件夾中,允許將建構工件放置在同級文件夾中,從而更容易從原始碼管理中排除此類內容。該
sdk屬性指定 Visual Studio 在打開解決方案時將使用的 DNX(.Net 執行環境)的版本。它設置在此處,而不是在 project.json 中,以避免解決方案中的不同項目針對不同版本的 SDK 的情況。問題1)
如上所述,如果我選擇首先創建一個空白解決方案,我將沒有
global.json文件。沒有
global.json文件會以任何形式或形式影響應用程序的行為嗎?例如,當我部署或與建構工件互動時?問題2)
如果確實有影響,那麼我應該手動創建這個
global.json文件嗎?問題 3)
在撰寫本文時,是否有推薦的方法在 ASP.NET 5 中創建多層應用程序?
我應該先創建 MVC 項目並開始將類庫添加到項目中嗎?
要麼
我是否應該首先創建一個空白解決方案並開始將類庫和 Web 應用程序添加到解決方案中(知道我沒有
global.json文件也沒有src文件夾)?
、
src等test文件夾允許您按類型對項目進行分組。當有大量項目時,這有助於保持解決方案的可維護性。以下是已提出的各種項目類型的範例。根據ASP.NET Core 工程指南:“預設情況下,項目到項目的引用必須是同級文件夾。使用
global.json文件允許解決方案指定非標準位置來定位引用。”總而言之,如果有很多項目,您可以按類型將它們分組到文件夾中,並使用
global.json允許一組中的項目引用另一組中的項目。
1)是的,對我來說,我也遇到了這個問題,並從空白解決方案開始。然後我的項目在相互引用時遇到了問題。
- 對我來說,沒有 global.json 是行不通的。您還需要確保解決方案文件正確指向所有內容,例如 global.json。這些項目沒有建立,也沒有為我找到彼此。
3)為了讓一切正常工作,我首先創建了一個 mvc 核心項目來獲取 global.json 文件。然後我將 scr 文件夾重命名為 applicationname.web。確保相應地更改解決方案文件,以免它指向錯誤。您還應該更新 project.json 文件。這樣,我想要一個像你一樣的空白解決方案,我創建了一個預設項目,然後將其更改為我想要的方式,這對我有用。
我將使用 Onion 架構作為指導來建構我目前的應用程序。我認為用核心做這個沒有問題。這也意味著我將在不同的項目(可能命名為基礎設施.IoC)中建構 IoC,以便我的 Web 項目不包含對包含 Web 不應該知道的介面實現的項目的引用。
此外,如果您仍然有問題,我實際上遇到了本地建構和引用問題,因為我有 resharper 並且我關閉了它,然後項目之間的引用問題就消失了,我可以成功建構。