Will Core Net Apps Run On Mac
- ASP.NET Core Tutorial
- ASP.NET Core Useful Resources
Start Visual Studio for Mac. Select New in the start window. In the New Project dialog, select App under the Web and Console node. Select the Console Application template, and select Next. In the Target Framework drop-down of the Configure your new Console Application dialog, select.NET Core. Run Web apps on.NET Core or.NET Framework Create productive as well as progressive web applications as well as services, IoT apps, plus mobile back-ends Support more than one platform while it offers the option for building applications on Linux, Windows, and Mac OS. I've made my program in VB.Net for a few friends and family members. Some of my friends & family members have a Mac OS. I've heard that it's possible to run parallels on a Mac to make vb.net programs compatible, but I'm wondering what folks here in the community recommend for this situation. Would greatly appreciate the help.
- Selected Reading
ASP.NET Core is the new web framework from Microsoft. It has been redesigned from the ground up to be fast, flexible, modern, and work across different platforms. Moving forward, ASP.NET Core is the framework that can be used for web development with .NET. If you have any experience with MVC or Web API over the last few years, you will notice some familiar features. At the end this tutorial, you will have everything you need to start using ASP.NET Core and write an application that can create, edit, and view data from a database.
A Brief History of ASP.NET
ASP.NET has been used from many years to develop web applications. Since then, the framework went through a steady evolutionary change and finally led us to its most recent descendant ASP.NET Core 1.0.
ASP.NET Core 1.0 is not a continuation of ASP.NET 4.6.
It is a whole new framework, a side-by-side project which happily lives alongside everything else we know.
It is an actual re-write of the current ASP.NET 4.6 framework, but much smaller and a lot more modular.
Some people think that many things remain the same, but this is not entirely true. ASP.NET Core 1.0 is a big fundamental change to the ASP.NET landscape.
What is ASP.NET Core
ASP.NET Core is an open source and cloud-optimized web framework for developing modern web applications that can be developed and run on Windows, Linux and the Mac. It includes the MVC framework, which now combines the features of MVC and Web API into a single web programming framework.
ASP.NET Core apps can run on .NET Core or on the full .NET Framework.
It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises.
It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions.
You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux.
Advantages of ASP.NET Core
Network Appliances
ASP.NET Core comes with the following advantages −
ASP.NET Core has a number of architectural changes that result in a much leaner and modular framework.
ASP.NET Core is no longer based on System.Web.dll. It is based on a set of granular and well factored NuGet packages.
This allows you to optimize your app to include just the NuGet packages you need.
The benefits of a smaller app surface area include tighter security, reduced servicing, improved performance, and decreased costs
With ASP.NET Core, you can get the following improvements −
Build and run cross-platform ASP.NET apps on Windows, Mac and Linux.
Built on .NET Core, which supports true side-by-side app versioning.
New tooling that simplifies modern wWeb development.
Single aligned web stack for Web UI and Web APIs.
Cloud-ready environment-based configuration.
Built-in support for dependency injection.
Tag Helpers which makes Razor markup more natural with HTML.
Ability to host on IIS or self-host in your own process.
By Daniel Roth, Rick Anderson and Shaun Luttin
Run Dotnet Core App
ASP.NET Core is a significant redesign of ASP.NET. This topic introduces the new concepts in ASP.NET Core and explains how they help you develop modern web apps.
Sections: /mac-middle-click-app.html.
ASP.NET Core is a new open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps can run on .NET Core or on the full .NET Framework. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. ASP.NET Core is open source at GitHub.
The first preview release of ASP.NET came out almost 15 years ago as part of the .NET Framework. Since then millions of developers have used it to build and run great web apps, and over the years we have added and evolved many capabilities to it.
ASP.NET Core has a number of architectural changes that result in a much leaner and modular framework. ASP.NET Core is no longer based on System.Web.dll. It is based on a set of granular and well factored NuGet packages. This allows you to optimize your app to include just the NuGet packages you need. The benefits of a smaller app surface area include tighter security, reduced servicing, improved performance, and decreased costs in a pay-for-what-you-use model.
With ASP.NET Core you gain the following foundational improvements:
- A unified story for building web UI and web APIs
- Integration of modern client-side frameworks and development workflows
- A cloud-ready environment-based configuration system
- Built-in dependency injection
- New light-weight and modular HTTP request pipeline
- Ability to host on IIS or self-host in your own process
- Built on .NET Core, which supports true side-by-side app versioning
- Ships entirely as NuGet packages
- New tooling that simplifies modern web development
- Build and run cross-platform ASP.NET apps on Windows, Mac and Linux
- Open source and community focused
An ASP.NET Core app is simply a console app that creates a web server in its Main
method:
Main
uses WebHostBuilder
, which follows the builder pattern, to create a web application host. The builder has methods that define the web server (for example UseKestrel
) and the startup class (UseStartup
). In the example above, the Kestrel web server is used, but other web servers can be specified. We’ll show more about UseStartup
in the next section. WebHostBuilder
provides many optional methods including UseIISIntegration
for hosting in IIS and IIS Express and UseContentRoot
for specifying the root content directory. The Build
and Run
methods build the IWebHost
that will host the app and start it listening for incoming HTTP requests.
The UseStartup
method on WebHostBuilder
specifies the Startup
class for your app.
The Startup
class is where you define the request handling pipeline and where any services needed by the app are configured. The Startup
class must be public and contain the following methods:
ConfigureServices
defines the services (see Services below) used by your app (such as the ASP.NET MVC Core framework, Entity Framework Core, Identity, etc.)Configure
defines the middleware in the request pipeline- See Application Startup for more details
A service is a component that is intended for common consumption in an application. Services are made available through dependency injection. ASP.NET Core includes a simple built-in inversion of control (IoC) container that supports constructor injection by default, but can be easily replaced with your IoC container of choice. In addition to its loose coupling benefit, DI makes services available throughout your app. For example, Logging is available throughout your app. See Dependency Injection for more details.
In ASP.NET Core you compose your request pipeline using Middleware. ASP.NET Core middleware performs asynchronous logic on an HttpContext
and then either invokes the next middleware in the sequence or terminates the request directly. You generally “Use” middleware by invoking a corresponding UseXYZ
extension method on the IApplicationBuilder
in the Configure
method.
ASP.NET Core comes with a rich set of prebuilt middleware:
You can also author your own custom middleware.
You can use any OWIN-based middleware with ASP.NET Core. See Open Web Interface for .NET (OWIN) for details.

The ASP.NET Core hosting model does not directly listen for requests; rather it relies on an HTTP server implementation to forward the request to the application. The forwarded request is wrapped as a set of feature interfaces that the application then composes into an HttpContext
. ASP.NET Core includes a managed cross-platform web server, called Kestrel, that you would typically run behind a production web server like IIS or nginx.
The content root is the base path to any content used by the app, such as its views and web content. By default the content root is the same as application base path for the executable hosting the app; an alternative location can be specified with WebHostBuilder.
The web root of your app is the directory in your project for public, static resources like css, js, and image files. The static files middleware will only serve files from the web root directory (and sub-directories) by default. The web root path defaults to <content root>/wwwroot, but you can specify a different location using the WebHostBuilder.
ASP.NET Core uses a new configuration model for handling simple name-value pairs. The new configuration model is not based on System.Configuration
or web.config; rather, it pulls from an ordered set of configuration providers. The built-in configuration providers support a variety of file formats (XML, JSON, INI) and environment variables to enable environment-based configuration. You can also write your own custom configuration providers.
See Configuration for more information.
Environments, like “Development” and “Production”, are a first-class notion in ASP.NET Core and can be set using environment variables. See Working with Multiple Environments 다중 환경에서 작업하기 for more information.
- You can create well-factored and testable web apps that follow the Model-View-Controller (MVC) pattern. See MVC and Testing.
- You can build HTTP services that support multiple formats and have full support for content negotiation. See Formatting Response Data
- Razor provides a productive language to create Views
- Tag Helpers enable server-side code to participate in creating and rendering HTML elements in Razor files
- You can create HTTP services with full support for content negotiation using custom or built-in formatters (JSON, XML)
- Model Binding automatically maps data from HTTP requests to action method parameters
- Model Validation automatically performs client and server side validation
ASP.NET Core is designed to integrate seamlessly with a variety of client-side frameworks, including AngularJS, KnockoutJS and Bootstrap. See Client-Side Development for more details.