asp.net-mvc-5iis-7.5dnxdnvm

What are minimum deployment requirements to run ASP.NET 5 on IIS 7.5 on Windows Server 2008 R2?


I'm looking for a minimal set of steps to deploy a first ASP.NET 5 (MVC) solution to Server 2008 R2 with IIS 7.5. The server already has .NET Framework 4.6.1. Reading docs.asp.net and various StackOverflow posts, it seems multiple utilities and packages may be necessary. Since I may need to explain each piece to my CM, IT, and security staff I want to avoid what's not absolutely necessary or have a good explanation for whatever is a must. (Deploying assemblies into my site's bin folder or configuration in IIS shouldn't be an issue).

  1. If I install using command line is the only way to install .NET Execution Environment (DNX) with .NET Version Manager (DNVM)?
  2. When I run DNVM it seems to install the run-time into my user folder. Does it mean I have to install it with the same account my app pool is run?
  3. Does anybody know of any plans to push DNX as part of a future Windows update?
  4. Are there any additional configurations for IIS or general prerequisites?

I'd appreciate any pointers or personal experience.


Solution

  • I have 5 months experience now building an ASP.NET Core web app.

    1. Right now DNVM is the easiest way to upgrade the runtimes, yes. You can read how to do this here: https://docs.asp.net/en/latest/getting-started/installing-on-windows.html. Or a direct link to an installer to get you up & running: https://get.asp.net/. Be aware however that the .NET Execution Environment (dnvm, dnu, dnx) are being replaced by a new CLI called "DotNet": http://www.hanselman.com/blog/ExploringTheNewNETDotnetCommandLineInterfaceCLI.aspx.

    2. No. Keep the cross platform story in the back of your head when solving these questions. When you publish your web app with "dnu publish" it'll package everything it needs in the same clean structure. Just publish your webapp once and go to "approot\runtimes\dnx-clr-win-x86.1.0.0-rc1-update1" (depending on your runtime ofcourse). Now locate "web.cmd" in your "approot" folder. It's a Powershell script. Notice the "LOCAL_DNX" pointing to the aformentioned folder. This is how it's handled.

    3. If anything will be pushed by Windows updates it will be "DotNet", see the previous comment on this. I don't think you' ll want this automatically though. Should be a conscience decision.

    4. This is also explained very well in the docs here: https://docs.asp.net/en/latest/hosting/index.html. You will need to download the HTTP Platform Handler for IIS and make IIS use the handler. Your application pool should not be managed by a .NET framework. It's all explained in the docs.