With the new Asp.net Core MVC projects such as:
There are a lot of unfamiliar folders there, like bower_components
, wwwroot
, Dependencies
, etc..
What should be stored in source control?
In ASP.NET MVC, every controller class name must end with a word "Controller". For example, the home page controller name must be HomeController , and for the student page, it must be the StudentController . Also, every controller class must be located in the Controller folder of the MVC folder structure.
ASP.NET Core MVC provides a patterns-based way to build dynamic websites that enables a clean separation of concerns. It gives you full control over markup, supports TDD-friendly development and uses the latest web standards.
Learn more at Overview of ASP.NET Core MVC and Get started with ASP.NET Core MVC and Visual Studio. The controller is a UI-level abstraction. Its responsibilities are to ensure request data is valid and to choose which view (or result for an API) should be returned.
The ASP.NET MVC framework provides the following features: Separation of application tasks (input logic, business logic, and UI logic), testability, and test-driven development (TDD) by default.
Anything that is a project setting, or that you directly change you should store. Anything that is directly downloaded (references, bower/node) or is directly based on those (lib folder getting copied by gulp) should be ignored.
So, in your case, ignore bower, node, and project\wwwroot\lib. You want the wwwroot folder if you have custom css or js.
I went with
(With green being yes, red being no)
The only unlisted exception was the .xproj
(and for TFS the .xproj.vspscc
).
I deleted the folder from my local workspace (after backing up to somewhere else) and restored from source control and everything seems to behave as it should, once all the packages restored themselves.
This assumes that the gulpfile.js
is configured to move the needed css
, js
, font
components into wwwroot
.
Also since I wrote this, there is a launchSettings.json
within the properties
folder that I've source controlled (Not sure why it's only just generated).
My .tfsignore
file is currently:
project\wwwroot
!project\wwwroot\web.config
project\node_modules
project\bower_components
(which seems to be OK so far, but would potentially change if other static resources such as JS, CSS and Images were added in.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With