Go to file
Daniel Roth bcc7e62d04 Fix list item indentation 2018-03-22 12:39:24 -07:00
build Remove redundant file now we moved to Korebuild 2018-03-14 12:00:54 +00:00
samples Link on build by default for all configurations, not only Release 2018-03-21 15:58:49 +00:00
src Fix serving of woff/woff2 files for standalone-published apps on IIS/Azure 2018-03-22 10:15:55 +00:00
test Fix for #314 - streamline lambda component args 2018-03-21 13:59:35 -07:00
tooling Fix the Blazor about dialog 2018-03-21 17:46:44 -07:00
.appveyor.yml [Fixes #66] Adds linking support to the build 2018-03-14 11:23:43 +00:00
.gitattributes Force LF for package-lock.json 2018-03-21 13:59:35 -07:00
.gitignore [Fixes #66] Adds linking support to the build 2018-03-14 11:23:43 +00:00
.travis.yml [Fixes #66] Adds linking support to the build 2018-03-14 11:23:43 +00:00
Blazor.sln Add global.json files to templates. Implements #300. 2018-03-20 19:45:43 +00:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Directory.Build.props
Directory.Build.targets
LICENSE.txt
README.md Fix list item indentation 2018-03-22 12:39:24 -07:00
THIRD-PARTY-NOTICES.txt
build.cmd
build.sh
global.json
korebuild-lock.txt
korebuild.json
run.cmd
run.ps1
run.sh
version.props Bump version to 0.1.0-rc1-* 2018-03-20 22:32:12 +00:00

README.md

Blazor

An experimental .NET web framework using C#/Razor and HTML that runs in the browser via WebAssembly

Gitter

Blazor is a .NET web framework that runs in any browser. You author Blazor apps using C#/Razor and HTML.

Blazor uses only the latest web standards. No plugins or transpilation needed. It runs in the browser on a real .NET runtime (Mono) implemented in WebAssembly that executes normal .NET assemblies.

Blazor will have all the features of a modern web framework, including:

  • A component model for building composable UI
  • Routing
  • Layouts
  • Forms and validation
  • Dependency injection
  • JavaScript interop
  • Live reloading in the browser during development
  • Server-side rendering
  • Full .NET debugging both in browsers and in the IDE
  • Rich IntelliSense and tooling
  • Publishing and app size trimming

Note: Blazor is an experimental project. It's not (yet) a committed product. This is to allow time to fully investigate the technical issues associated with running .NET in the browser and to ensure we can build something that developers love and can be productive with. During this experimental phase, we expect to engage deeply with early Blazor adopters like you to hear your feedback and suggestions.

To see Blazor in action, check out Steve Sanderson's prototype demo at NDC Oslo last year. You can also try out a simple live Blazor app.

Getting Started

  1. Install the .NET Core 2.1 Preview 1 SDK.
  2. Install the latest preview of Visual Studio 2017 (15.7) with the Web development workload.
  3. Install the ASP.NET Core Blazor Language Services extension from the Visual Studio Marketplace.
  4. File -> New Project -> Web -> ASP.NET Core Web Application -> Blazor
    • If you don't see the Blazor template, be sure to select .NET Core and ASP.NET Core 2.0

Not using Visual Studio? Install the Blazor templates on the command-line:

dotnet new -i Microsoft.AspNetCore.Blazor.Templates --nuget-source https://dotnet.myget.org/F/blazor-dev/api/v3/index.json
dotnet new blazor -o BlazorApp1
cd BlazorApp1
dotnet run

Build

Prerequisites:

The build script will acquire the required version of the .NET runtime and .NET SDK on first run.

Run build.cmd or build.sh from the solution directory.

Run unit tests

Run build.cmd /t:Test or build.sh /t:Test

Run end-to-end tests

Prerequisites:

  • Install selenium-standalone (requires Java 8 or later)
    • npm install -g selenium-standalone
    • selenium-standalone install
  • Chrome

Run selenium-standalone start

Run build.cmd /t:Test /p:BlazorAllTests=true or build.sh /t:Test /p:BlazorAllTests=true

Opening in Visual Studio

Prerequisites:

  • Visual Studio 2017 15.7 preview 1 (or newer) - download

We recommend getting the preview version of Visual Studio and updating it frequently. The Blazor editing experience in Visual Studio depends on new features of the Razor language tooling and will be updated frequently.

When installing Visual Studio choose the following workloads:

  • ASP.NET and Web Development
  • Visual Studio extension development features

Developing the Blazor VS Tooling

To do local development of the Blazor tooling experience in VS, select the Microsoft.VisualStudio.BlazorExtension project and launch the debugger.

The Blazor Visual Studio tooling will build as part of the command line build when on Windows.

Contributing

There are lots of ways that you can contribute to Blazor! Read our contributing guide to learn about our development process and how to propose bug fixes and improvements.

Still got questions?

Check out our FAQ or open an issue.