Asp.net-Core-Mvc

global.json 和 src 文件夾有多重要?

  • August 30, 2016

在 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文件夾)?

srctest文件夾允許您按類型對項目進行分組。當有大量項目時,這有助於保持解決方案的可維護性。以下是已提出的各種項目類型的範例。

根據ASP.NET Core 工程指南:“預設情況下,項目到項目的引用必須是同級文件夾。使用global.json文件允許解決方案指定非標準位置來定位引用。”

總而言之,如果有很多項目,您可以按類型將它們分組到文件夾中,並使用global.json允許一組中的項目引用另一組中的項目。

1)是的,對我來說,我也遇到了這個問題,並從空白解決方案開始。然後我的項目在相互引用時遇到了問題。

  1. 對我來說,沒有 global.json 是行不通的。您還需要確保解決方案文件正確指向所有內容,例如 global.json。這些項目沒有建立,也沒有為我找到彼此。

3)為了讓一切正常工作,我首先創建了一個 mvc 核心項目來獲取 global.json 文件。然後我將 scr 文件夾重命名為 applicationname.web。確保相應地更改解決方案文件,以免它指向錯誤。您還應該更新 project.json 文件。這樣,我想要一個像你一樣的空白解決方案,我創建了一個預設項目,然後將其更改為我想要的方式,這對我有用。

我將使用 Onion 架構作為指導來建構我目前的應用程序。我認為用核心做這個沒有問題。這也意味著我將在不同的項目(可能命名為基礎設施.IoC)中建構 IoC,以便我的 Web 項目不包含對包含 Web 不應該知道的介面實現的項目的引用。

此外,如果您仍然有問題,我實際上遇到了本地建構和引用問題,因為我有 resharper 並且我關閉了它,然後項目之間的引用問題就消失了,我可以成功建構。

引用自:https://stackoverflow.com/questions/31566000