排除 project.json 中的文件夾
在新的 asp.net 5 模板中有一個 project.json,您可以在其中排除某些目錄。
"exclude": [ "wwwroot", "node_modules", "bower_components", "dist", ".tmp" ]如您所見,我添加了一些文件夾,例如“dist”和“.tmp”,但它們仍包含在解決方案資源管理器中。沒有太多關於此的文件。如何在 vs 2015 中從項目中排除文件/文件夾?
“排除”屬性不會從 Visual Studio 中隱藏文件夾,它不會使文件夾從解決方案資源管理器中“消失”。
“排除”屬性從編譯搜尋路徑中刪除該文件夾。 它是對編譯器(Roslyn)而不是 IDE 的指令。作為更全面的答案,“project.json”有意與 IDE 無關。這就是為什麼同時存在 projecname.xspoj 和 project.json 兩者都包含項目配置資訊的原因。這對於允許更強大的跨 IDE 和跨平台開發是必要的。
您可以通過簡單的練習自己驗證此行為。
- 將新的類文件 (buildfail.cs) 添加到根項目文件夾中的現有項目(或創建新項目)。
- 確保 buildfail.cs 與項目中的其他源文件具有相同的命名空間,包含編譯錯誤,並且位於根目錄中。
- 您應該會在 VS 中看到建構錯誤。如果您不手動建構。
- 在項目根目錄下創建一個新文件夾(excludeme)並將 buildfail.cs 移動到該文件夾。您仍然應該有建構錯誤。
- 將 excludeme 添加到 project.json 中的 exclude 屬性。應刪除建構錯誤,因為 builfail.cs 不再位於建構搜尋路徑中。
您可能想知道 VS 使用什麼來隱藏解決方案資源管理器顯示的 node_packages 文件夾。我不確定,它可能不是使用者可配置的,但它不是排除屬性。註釋掉 project.json 中的 node_packages ,您將收到建構錯誤(包還原失敗),但該文件夾仍將在解決方案資源管理器中隱藏。由於這是 IDE 特定的行為,人們會假設它可能是在 projectname.xproj 中定義的,但我沒有發現這樣的屬性,所以此時它似乎是 VS 的黑盒魔法。
從 Asp.Net 5 beta-8和 Visual Studio 2015 的補充工具更新開始,您現在可以在解決方案資源管理器中排除/隱藏文件夾。公告文章中概述了有關此內容和其他更改的更多資訊。要隱藏文件或文件夾,請右鍵點擊以調出上下文菜單並選擇
Hide from solution explorer。這會在.xproj文件中創建一個條目:<ItemGroup> <DnxInvisibleContent Include="myhiddenfile.txt" /> </ItemGroup>另請注意,預設情況下安裝 bower 包的位置發生了變化。以前,Visual Studio 中的 Asp.Net 5 模板會將 bower 包安裝到名為 的文件夾
bower_components中,不使用 Visual Studio 的 Web 開發人員熟悉這種做法。但是,顯然由於開發人員的混淆,這已更改為wwwroot/lib. 這可以通過編輯bowerrc文件來更改。因此,bower_components新的 beta-8 模板中不存在該文件夾。有關更多資訊,請參閱Scott Hanselman 的這篇文章。