yo generator for ASP.NET Core
C# JavaScript F# CSS Other
Latest commit b16a957 Dec 6, 2016 @peterblazejewicz peterblazejewicz committed on GitHub πŸ› Catch null results correctly. Fixes 855 (#856)
This commit fixes small coding problem when results from a method are not checked
for possible null. The fix is to just safely provide empty string

Thanks!
Permalink
Failed to load latest commit information.
.github πŸ“ Update ASP.NET Core name dropping version (#764) Jun 24, 2016
angularcontroller Rename AngularController to lower case Jul 24, 2016
angularcontrolleras Rename AngularControllerAs to lower case Jul 24, 2016
angulardirective Rename AngularDirective to lower case Jul 24, 2016
angularfactory Rename AngularFactory to lower case Jul 24, 2016
angularmodule Rename AngularModule to lower case Jul 24, 2016
app 🐳 Use explicit 1.1.0 version tag in Dockerfile. Closes #854 Dec 3, 2016
appsettings Rename AppSettings to lower case Jul 24, 2016
bowerjson Rename BowerJson to lower case Jul 24, 2016
class Rename Class to lower case Jul 24, 2016
coffeescript Rename CoffeeScript to lower case Jul 24, 2016
dockerfile Rename Dockerfile to lower case Jul 24, 2016
gitignore πŸ“ Add usage help for gitignore subgenerator Oct 11, 2015
gruntfile Rename Gruntifle to lower case Jul 24, 2016
gulpfile Rename Gulpfile to lower case Jul 24, 2016
htmlpage Rename HTMLPage to lower case Jul 24, 2016
interface Rename Interface to lower case Jul 24, 2016
javascript Rename JavaScript to lower case Jul 24, 2016
json Rename JSON to lower case Jul 24, 2016
jsonschema Rename JSONSchema to lower case Jul 24, 2016
jsx Rename JSX to lower case Jul 24, 2016
middleware Rename Middleware to lower case Jul 24, 2016
mvccontroller Rename MvcController to lower case Jul 24, 2016
mvcview Rename MvcView to lower case Jul 24, 2016
nuget 🎨 Add unstable NuGet config option. Closes #183 Nov 27, 2015
packagejson Rename PackageJson to lower case Jul 24, 2016
program Rename Program to lower case Jul 24, 2016
readme 🎨 Add subgenerator to create README. Closes #549 Jan 10, 2016
startup Rename Startup to lower case Jul 24, 2016
stylesheet Rename StyleSheet to lower case Jul 24, 2016
stylesheetless Fix filenames for SCSS and LESS subgenerators Jul 24, 2016
stylesheetscss Fix filenames for SCSS and LESS subgenerators Jul 24, 2016
taghelper Rename TagHelper to lower case Jul 24, 2016
templates 🐳 Use explicit 1.1.0 version tag in Dockerfile. Closes #854 Dec 3, 2016
test 🐳 Use explicit 1.1.0 version tag in Dockerfile. Closes #854 Dec 3, 2016
textfile Rename TextFile to lower case Jul 24, 2016
tfignore Unify whitespace within source files Oct 12, 2015
typescript Rename TypeScript to lower case Jul 24, 2016
typescriptconfig Rename TypeScriptConfig to lower case Jul 24, 2016
typescriptjsx Rename TypeScriptJSX to lower case Jul 24, 2016
usersecrets Rename UserSecrets to lower case Jul 24, 2016
webapicontroller Rename WebApiController to lower case Jul 24, 2016
.editorconfig adding editor files, fix whitespace and fs functions from merge Apr 18, 2015
.gitignore Ignore VS2015 and VSCode configurations Mar 5, 2016
.jshintignore adding editor files, fix whitespace and fs functions from merge Apr 18, 2015
.jshintrc Add missing quotes in JSHint config Apr 30, 2015
.travis.yml Update Travis CI build Node and NPM versions. Closes #852 Dec 1, 2016
README.md adding note in readme regarding release Nov 22, 2016
configuration.js πŸ› Catch null results correctly. Fixes 855 (#856) Dec 6, 2016
package.json 0.2.4 Oct 1, 2016
script-base-basic.js Rename config.js to fix aspnet:Config sub-generator test Oct 20, 2015
script-base.js 🎨 Add file extension handling to named generator. Closes #16 Jan 10, 2016

README.md

generator-aspnet

Build Status Version Downloads per month

NOTE: The content has been updated for .NET Core 1.1.0 (project.json based). For more info see https://github.com/OmniSharp/generator-aspnet/wiki/Version-info

Yeoman generator for ASP.NET Core projects

Getting Started

  • Dependencies:
    • Node.js: brew install node for Mac OS X, choco install nodejs for Windows OS
    • Yeoman: npm install -g yo
    • Bower npm install -g bower
  • Install: npm install -g generator-aspnet
  • Run: yo aspnet

See also: Building Projects with Yeoman on docs.asp.net

NOTE: Starting from RTM release Web Application and Web Application Basic project templates use Bundler Minifier tool instead of NPM based build systems like Gulp or Grunt. The Bundler tool is installed as part of tooling support for the project, the project.json contains relevant scripting integration and one can use that tool independently from console using its CLI interface. Visit Bundler tool WIKI for details.
Also see ASP NET Community Standup - June 21st, 2016 - Mads Visits for detailed information about this change introduction.

Usage

  • yo aspnet shows a wizard for generating a new ASP.NET Core app

  • yo aspnet --help shows flags and other configurable options

Template projects

Full, template based projects available in generator:

  • Empty Web Application
  • Empty Web Application (F#)
  • Console Application
  • Console Application (F#)
  • Web Application
  • Web Application Basic [without Membership and Authorization]
  • Web Application Basic [without Membership and Authorization] (F#)
  • Web API Application
  • Web API Application (F#)
  • Nancy ASP.NET Application
  • Class Library
  • Class Library (F#)
  • Unit Test project (xUnit.net)
  • Unit Test project (xUnit.net) (F#)

The Empty Web Application, Console Application, Web Application, Web Application Basic (a.k.a. Web Application No Auth), Web API Application and Class Library are based on the templates introduced with Visual Studio 2015. They are available and maintained in the ASP.NET Templates project.

ASP.NET Templates project provides templates which are used in Visual Studio for creating ASP.NET Core applications.

NOTE: Starting from RC2 dotnet release the web application template project no longer ships with built-in EF migration. For this reason you should call dotnet ef database update to scaffold database using template provided migrations!

The Nancy project is based on framework's "Hello World" template: Nancy Getting Started: Introduction

The Docker support with Dockerfile configuration files is based on the official Docker image for ASP.NET Core

The Unit test project uses xUnit: a free, open source, community-focused unit testing tool for the .NET Framework

The F# Templates are based on Core F# Templates projects. They were translated into F# from the original ASP.NET Templates

The templates that use client-side libraries are calling the bower install script to install Bower managed dependencies. You can skip the installation process by passing the --skip-install option to the generator, e.g. yo aspnet --skip-install. This should allow for a better experience when Development has been enabled.

Command line automation

The project type and application name can be specified as optional command line arguments:

yo aspnet [projecttype [applicationname] [uiframework]]

The valid project types are:

  • emptyweb for Empty Web Application
  • consoleapp for Console Application
  • web for Web Application
  • webbasic for Web Application Basic
  • webapi for Web API Application
  • nancy for Nancy ASP.NET Application
  • classlibrary for Class Library
  • unittest Unit Test project (xUnit.net)
  • fsharp_emptyweb for F# Empty Web Application
  • fsharp_console for F# Console Application
  • fsharp_lib for F# Class Library
  • fsharp_webapi for F# Web API Application
  • fsharp_webbasic for F# Web Application Basic
  • fsharp_test for F# Unit Test project (xUnit.net)

The valid UI framework types are:

  • bootstrap for Bootstrap (this is the default and does not have to be specified explicitly)
  • semantic for Semantic UI

Example: yo aspnet webbasic "my semantic app" semantic will create a "Web Application Basic" project called "my semantic app" using the Semantic UI framework.

Example: yo aspnet webbasic "my bootstrap app" OR yo aspnet webbasic "my bootstrap app" bootstrap will create a "Web Application Basic" project called "my bootstrap app" using the Bootstrap framework.

Related yeoman generators

The goal of generator-aspnet is to provide an experience consistent with creating new ASP.NET Core dotnet cli projects and files in Visual Studio 2015.

The list of related generators can be seen on our Wiki section

Sub Generators

The alphabetic list of available sub generators (to create files after the project has been created):

** Note: files generated are created in the working directory, no conventions are forced **

Return to top

angularcontroller

Creates AngularJS controller file using $scope

Example:

yo aspnet:angularcontroller filename

Produces filename.js

Return to top

angularcontrolleras

Creates AngularJS controller file using Controller As syntax.

Example:

yo aspnet:angularcontrolleras filename

Produces filename.js

Return to top

angulardirective

Creates AngularJS directive file.

Example:

yo aspnet:angulardirective filename

Produces filename.js

Return to top

angularfactory

Creates AngularJS factory file.

Example:

yo aspnet:angularfactory filename

Produces filename.js

Return to top

angularmodule

Creates AngularJS module file

Example:

yo aspnet:angularmodule filename

Produces filename.js

Return to top

appsettings

Creates a new appsettings.json file

Example:

yo aspnet:appsettings

Produces appsettings.json

Return to top

bowerjson

Creates a new bower.json and configuration file.

Example:

yo aspnet:bowerjson

Produces bower.json and .bowerrc

Return to top

class

Creates a new ASP.NET Core class

Example:

yo aspnet:class Contact

Produces /Contact.cs

Return to top

coffeescript

Creates a new CoffeeScript file

Example:

yo aspnet:coffeescript filename

Produces filename.coffee

Return to top

dockerfile

Creates a new Docker configuration file. To create Docker image with SQLite support for EntityFramework use --sqlite option

Example:

yo aspnet:dockerfile

Creates a new Dockerfile

Are you curious about Docker, Linux containers and ASP.NET Core Docker image and all these buzz words?

Return to top

gitignore

Creates a new .gitignore file

Example:

yo aspnet:gitignore

Produces .gitignore

Return to top

gruntfile

Creates a new Grunt file

Example:

yo aspnet:gruntfile

Produces Gruntfile.js

Return to top

gulpfile

Creates a new Gulp file

Example:

yo aspnet:gulpfile

Produces gulpfile.js

Return to top

htmlpage

Creates a new HTML file

Example:

yo aspnet:htmlpage filename

Produces filename.html

Return to top

interface

Creates a new ASP.NET Core interface

Example:

yo aspnet:interface IContact

Produces /IContact.cs

Return to top

javascript

Creates a new JavaScript file

Example:

yo aspnet:javascript filename

Produces filename.js

Return to top

json

Creates a new JSON file

Example:

yo aspnet:json filename

Produces filename.json

Return to top

jsonschema

Creates a new JSON schema file

Example:

yo aspnet:jsonschema filename

Produces filename.json

Return to top

jsx

Creates a new React JSX file

Example:

yo aspnet:jsx filename

Produces filename.jsx

Return to top

middleware

Creates a new C# middleware class file

Example:

yo aspnet:middleware filename

Produces filename.cs

Return to top

mvccontroller

Creates a new ASP.NET Core MvcController class

Example:

yo aspnet:mvccontroller ContactController

Produces /ContactController.cs

Read more about MVC Controllers on docs.asp.net

Return to top

mvcview

Creates a new ASP.NET Core MvcView page file

Example:

yo aspnet:mvcview ContactView

Produces /ContactView.cshtml

Read more about MVC Views on docs.asp.net

Return to top

nuget

Creates a new NuGet.config file. The support for unstable development feed is provided by --unstable option.

Example:

yo aspnet:nuget --unstable

Produces NuGet.config with unstable NuGet feed

Return to top

packagejson

Creates a new package.json file

Example:

yo aspnet:packagejson

Produces package.json

Return to top

program

Creates a new Program.cs file

Example:

yo aspnet:program

Produces Program.cs

Return to top

README

Creates a new REAMDE.md documentation file in Markdown format You can optionally pass --txt option to use .txt extension. Example:

yo aspnet:readme [--txt]

Produces readme.md

Return to top

startup

Creates a new Startup.cs file

Example:

yo aspnet:startup

Produces Startup.cs

Return to top

stylesheet

Creates a new CSS file

Example:

yo aspnet:stylesheet style

Produces style.css

Return to top

stylesheetless

Creates a new Less class file

Example:

yo aspnet:stylesheetless filename

Produces filename.less

Return to top

stylesheetscss

Creates a new Sass SCSS class file

Example:

yo aspnet:stylesheetscss filename

Produces filename.scss

Return to top

taghelper

Creates a new TagHelper class file

Example:

yo aspnet:taghelper filename

Produces filename.cs

Return to top

textfile

Creates a new Text file

Example:

yo aspnet:textfile filename

Produces filename.txt

Return to top

tfignore

Creates a new .tfignore file

Example:

yo aspnet:tfignore

Produces .tfignore

Return to top

typescript

Creates a new TypeScript file

Example:

yo aspnet:typescript filename

Produces filename.ts

Return to top

typescriptconfig

Creates a new TypeScript configuration file

Example:

yo aspnet:typescriptconfig

Produces tsconfig.json

Return to top

typescriptjsx

Creates a new JSX-enabled TypeScript file

Example:

yo aspnet:typescriptjsx filename

Produces filename.tsx

Return to top

usersecrets

Adds UserSecrets information to ASP.NET Core project.json file. The generator do not update existing keys if found and does not create new project.json file.

Example:

yo aspnet:usersecrets

This will add following keys to project.json:

  • "userSecretsId" key
  • "Microsoft.Extensions.Configuration.UserSecrets" key under "dependencies"

Return to top

webapicontroller

Creates a new ASP.NET Core WebApiController class

Example:

yo aspnet:webapicontroller ValuesController

Produces /ValuesController.cs

Read more about Web API MVC concepts on docs.asp.net

Return to top

License

Copyright 2014-2016 OmniSharp

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Return to top