title: ASP.NET Core app build to target Core 2.1 fails on IIS 10 server where Core 2.1 is installed
body: <p>I have just setup up IIS 10 on a clean Server 2016 hosted server, and installed the following packages that I have gleaned should be on the machine to allow IIS to host ASP.NET Core applications:</p>
  
  <pre><code>aspnetcore-runtime-2.1.0-win-x64.exe
  dotnet-hosting-2.1.0-win.exe
  dotnet-runtime-2.1.0-win-x64.exe
  </code></pre>
  
  <p>I have installed my app straight into the Default Web Site and replaced all files in <code>C:\inetpub\wwwroot\</code> with my app files. I also did assign the web site an app pool with no managed code, so that isn't my problem. </p>
  
  <p>Last time my app was built with 2.0, and I installed the latest versions of the above packages, which I'm sure was 2.0, and the only error I had was that the command <code>dotnet</code> that IIS uses to invoke Kestrel to run the site, was not in the PATH env. variable</p>
  
  <p>Now when I try and browse to <code>localhost</code> on the Server 2016 machine, it gives me the following error, found in the Windows event log:</p>
  
  <blockquote>
    <p>Application 'MACHINE/WEBROOT/APPHOST/DEFAULT WEB SITE' with physical
    root 'C:\inetpub\wwwroot\' failed to start  process with commandline
    'dotnet .\QuickDrive.Mvc.dll', ErrorCode = '0x80004005 : 8000808c.</p>
  </blockquote>
  
  <p>Initially I tried with the same build as before, which was 2.0, and when I got this error, I rebuilt the app to target 2.1. Nearly every search result and relevant SO answer I can find suggest a version conflict, but now there should at least be no version conflict between the runtime and hosting package on the server. Maybe there are other version conflicts I am not aware of though?</p>
  
  <p>At very least I'm asking for some advice on how to get more detailed diagnostic information, even if I don't get an answer that tells me straight what config options and versions to check on Windows and on IIS.</p>