ASP.NET Core 2.1-wwwroot是否应从源代码管理中排除?

时间:2018-11-06 16:22:26

标签: asp.net-core asp.net-core-2.1

之前我曾问过类似的问题:ASP.NET core 2.0 MVC project. Should wwwroot be excluded from source control?,并指向https://github.com/github/gitignore/blob/master/VisualStudio.gitignore上的.gitignore文件,该文件正在不断更新。

创建新的ASP.NET Core项目(在我的情况下为Razor)时,会在wwwroot文件夹下自动生成一堆文件。根据{{​​1}}文件中的注释,由于.gitignore文件夹包含静态文件,因此可以安全地将其从源代码管理检入中排除。但是,我在此文件夹下看到一堆wwwroot文件:

bower.json

我的问题是,即使我排除了./wwwroot/lib/jquery-validation-unobtrusive/.bower.json ./wwwroot/lib/bootstrap/.bower.json ./wwwroot/lib/jquery/.bower.json ./wwwroot/lib/jquery-validation/.bower.json 文件夹,我们是否也不需要检入这些Bower文件以在新计算机上重建wwwroot文件夹吗?

2 个答案:

答案 0 :(得分:3)

首先,{<1>}应该被忽略。这就是项目静态资源的去向,并且需要那些致力于源代码控制的资源来跟踪对CSS,JS等的更改。但是,wwwroot文件夹 应该被忽略,因为这些是可以还原的外部库;您只想提交您的代码,而不是其他人的代码。

wwwroot/lib文件是从还原那些Bower包中拉出的,因此您的源代码管理中不需要这些。它类似于npm的.bower.json文件,它们实际上是程序包本身的一部分。

答案 1 :(得分:0)

您误解了此评论。它说

  

取消注释,如果您有在其中创建项目静态文件的任务   wwwroot

仅当通过root,npm或其他方式自动生成wwwroot中的所有内容时,才应忽略该选项(对于NuGet和packages文件夹来说是相同的)。但是,由于它还用于用户管理的静态文件(js库,图像等),因此默认情况下不能忽略它。