I guess that I am not only one, who was really annoyed during creation empty solution for Sitecore development project.
It is not so much complicated – but many steps to do. Create solution, create web project, create TDS project, configure code generation, configure nuget packages, refer proper versions of nuget packages and many others, cook cup of cofee.
Visual Studio furtunately provides way how to automate that and create complete Sitecore solution by one click.
On github, you can find my repository https://github.com/Tragedie-v-JZD/Sitecore.Projects, containing source files required to build own VSIX extension with Sitecore project templates (Visual Studio SDK must be installed).
And because building of VSIX is not so straightforward solution of problem from beginnig of post, I have also precompiled final VSIX available for you.
UPDATE 15th December: Added support for creation of SC 9.0 initial release projects.
How to install?
Navigate to https://github.com/Tragedie-v-JZD/Sitecore.Projects/releases page and download latest release.
What you will get?
Available project templates in “New project wizard” in Visual Studio 2017.
Newly created project have following structure:
Supported Sitecore versions?
Project templates supports Visual Studio 2017 and are prepared for Sitecore 8.2 Update 3 – Sitecore 9.0 Initial release. As new versions of Sitecore will be released, support for them will be added.
- Configured TDS projects for master and core databases
- Configured code generation based on TDS content into Model project (in separate assembly)
- web.config files taken from plain sitecore installation, excluded from publishing
- Ready for publishing over existing website (during creation of publish profile you must disable deleting old content)
3rd party references?
References to 3rd party libraries are held via references to appropriate NuGet packages.
In general, every project contains following references:
- appropriate versions of Sitecore libraries (Kernel, Logging, Zip, Mvc, Update, Zip) via Sitecore nuget feed
- actual version of Glass Mapper
- appropriate versions of ASP.NET MVC libraries (MVC, Razor, WebPages) corresponding with MVC libraries distributed with given version of sitecore
Support for Helix oriented solutions (so, project templates also for Modules, Foundation and Features), support for newly released versions of Sitecore and finally, support for more complex Sitecore solution scenarios.