Scaffolds DNN extensions, including Modules (Webforms, SPA, and MVC), Persona Bar, Skin Object, Library, Scheduler, and Hotcakes Commerce projects (based on generator-dnn built by Matt Rutledge).
The 25 minute video below will walk you through everything you need to know. (right-click and open in a new tab)
Warning: You may need to add the user path to your Environmental Variables. Here is an example from Windows 10 (you'd replace your username):
You also need to install the latest version of MSBuild if you don't already have it installed.
- Build tools for Visual Studio 2017
- Build tools for Visual Studio 2015
- Build tools for Visual Studio 2013
Note: Visual Studio 2019 should have installed MSBuild for you.
Now, simply run the following commands:
npm install -g yo npm install -g yarn npm install -g generator-upendodnn
Then generate your new project:
mkdir my-project-name cd my-project-name yo upendodnn
You're intended to first create the
Solution Structure if you haven't yet done so in this directory.
First-Timers: How to Use
First, install the generator using the steps above.
- Create and navigate to a folder where you wish to begin your new DNN-based solution. (command line example is above)
yo upendodnnin CMD or Powershell in that folder.
- For the first time, you'll want to always first choose the
Solution Structurescaffold and step through the wizard.
- Once the solution scaffold is created, run
yo upendodnnagain to add your other desired DNN projects.
- After you add the desired solution/project, open the original Solution scaffold in Visual Studio and add the new project to this main solution.
That's it! Now you can begin building your awesome DNN extension(s) as you see fit. Everything is now under one easy to open, run, code, build, and commit to source control solution.
Force Overriding of Casing using
By default, the namespace and extension names will be cased using Pascal-casing rules. If you'd like to override this behavior, you can add a
-f parameter to the name.
For example, if your company name is
abcCompany, the default behavior will change the name to
AbcCompany. In most cases, this would be the intended behavior. If you enter
abcCompany -f, the namespace or extension name will honor the casing as-is.
Want to learn more or how to build the generator code locally?
MIT © 2018 Matt Rutledge
MIT © 2019-2021 Upendo Ventures, LLC