Web application packaging and deployment automation using MSBuild needs the following steps:
Step 0. Server preparation is covered here How to prepare a Windows Server 2012 for web deployment
- Configure solution build profiles
- Configure transformation of web.config file
- Configure publishing profiles
- Create a web deployment package with MSBuild script
- Run deployment from command line
Sample solution that includes build script and configured publishing profiles can be downloaded here https://github.com/mchudinov/BuildWebDeployPackage
Here is a list of steps for preparation of a Windows Server 2012 for deployment of web packages or deployment from Visual Studio.
- Activate Web server role
- Install Web Deploy
- Open network ports
- Create an account for deployment
- Create web sites
- Configure deployment for sites
A multilingual site should translate the following:
- Date and time formatting
- Text resources: lables, buttons, validation messages, tooltips
It must be easy to switch languages.
It should be relatively easy to add more languages.
An example ASP.NET MVC 5 project can be downloaded here https://github.com/mchudinov/AspMvc5Multilingual
How to integrate a classic (MVC 5 and before) ASP.NET MVC application and a new type ASP.NET MVC (6?) OWin with an Azure Access Control Service (ACS). Users are authenticated outside of an application by third party authentication providers such as Facebook, Google, Yahoo etc. This process is called federated authentication.
A classic ASP.NET MVC project can be downloaded here https://github.com/mchudinov/AspMvcACSClassic
A new OWin-based ASP.NET MVC project can be downloaded here https://github.com/mchudinov/AspMvcACSOwin
How to handle errors and exception in ASP.NET MVC applications the right way.
I want the following:
– All the errors and exceptions must be logged
– Logging should be easy to program and it should not influence main code flow
– Error log must contain call stack and time stamp
– User should receive a friendly error page.
Sample project for Visual Studio 2015 can be downloaded here https://github.com/mchudinov/AspMvcErrorHandler
I build a minimal template for a web application according to clean architecture principals. I will use the following technologies: ASP.NET MVC 5, Entity Framework 6 for persistence.
Sample application is available here https://github.com/mchudinov/AspMvc5Minimal
LocalDB is an instance of SQL Express. It is easy to use it in development from Visual Studio. I want to have localdb database files included into Visual Studio solution for easy connect to database wherever I work.
Sample solution can be downloaded here https://github.com/mchudinov/LocalDbExample
This post is about how to package .NET application for Windows into an MSI (MicroSoft Installer) package using Wix# tool in command line. Packaging process can be easily automated on continues integration server.
Generally application building workflow is simple:
- Assign a version number to an assembly
- Build binaries
- Copy binaries to package folder and build msi-package with the same version as assembly
Build process will be controlled by MSBuild project file and can be started from a continues integrations server.
Sample solution is available for download here https://github.com/mchudinov/PackagingMSI. Solution is compatible with Visual Studio 2013.
Automated building and versioning processes were described in my previous posts:
Here is a simple application that will log to console and syslog demon. On Windows platform we can use free edition of Kiwi Syslog Server. On Linux application will use both local and remote syslog. As a logger library I use NLog.
Sample solution can be downloaded from here https://github.com/mchudinov/LoggingNLog. It is compatible with Visual Studio 2012, Mono Develop 5, and Xamarin Studio 5.
How to make a Linux-demon from a .NET Mono application.
Sample solution is available for download here https://github.com/mchudinov/ServiceDemon.