I asked a question here on how to ensure the correct version of dotnet is included in the build.
How I am wondering whether the version is still not getting deployed. What would I be looking for in the deployed files to tell?
Deployment does include the following files
52,816 dotnet-aspnet-codegenerator-design.dll 689,584 Microsoft.CodeAnalysis.CSharp.Workspaces.dll 2,624,944 Microsoft.CodeAnalysis.Workspaces.dll 23,632 Microsoft.VisualStudio.Web.CodeGeneration.Contracts.dll 73,296 Microsoft.VisualStudio.Web.CodeGeneration.Core.dll 35,408 Microsoft.VisualStudio.Web.CodeGeneration.dll 69,200 Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore.dll 28,752 Microsoft.VisualStudio.Web.CodeGeneration.Templating.dll 34,896 Microsoft.VisualStudio.Web.CodeGeneration.Utils.dll 157,776 Microsoft.VisualStudio.Web.CodeGenerators.Mvc.dll
When I login to the machine the code is deployed on and type
dotnet .\myapi.dll
the error is
It was not possible to find any compatible framework version
The specified framework 'Microsoft.AspNetCore.App', version '2.1.5' was not found.
- Check application dependencies and target a framework version installed at:
C:\Program Files\dotnet\
- Installing .NET Core prerequisites might help resolve this problem:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
- The .NET Core framework and SDK can be installed from:
https://aka.ms/dotnet-download
Browsing to the site url gives
HTTP Error 502.5 - Process Failure
Common causes of this issue:
The application process failed to start
The application process started but then stopped
The application process started but failed to listen on the configured port
Troubleshooting steps:
Check the system event log for error messages
Enable logging the application process' stdout messages
Attach a debugger to the application process and inspect
For more information visit: https://go.microsoft.com/fwlink/?LinkID=808681
And the event log shows
failed to start process with commandline 'dotnet .\myapi.dll', ErrorCode = '0x80004005 : 80008096.
How do I ensure dotnet is deployed?
[Update]
I see that c:\program files\dotnet.exe is version 2.1.26919.1
However I have installed .Net Core Runtime 2.1.5 (x64) I can tell that it is installed because when I re-run the installer it asks whether I want to repair or uninstall.
I suppose that since the api is running under IIS it does not need dotnet.exe ?
The machine is running Windows 2012 Server R2
Just posting this in case it helps someone. I was hitting this exact error attempting to deploy a regular .Net site using ASP.Net Core on IIS. In my case .Net was installed, but my site was throwing a 500 Internal server error and in the Event log I was showing "failed to start process with commandline 'dotnet .\myapi.dll'". It ended up being my web.config file, which Visual Studio had the line starting like:
<aspNetCore processPath="dotnet" arguments=".\myapi.dll"
This ended up being the problem, this is how you would launch a .Net Core site. But I was targeting regular .Net. So my web.config needed to be:
<aspNetCore processPath=".\myapi.exe" arguments=".\myapi.dll"
Before finding this I had attempted to install .Net Core runtimes, and SDK, both of those ended up morphing the error into a 500.19 Internal Server Error with error code 0x8007000d. This indicated a malformed XML in my web.config or AppHost (IIS). Neither of those files had XML syntax issues. This particular error was caused from having removed the .Net Core Hosting Bundle. You need to have the hosting bundle installed for your server to recognize the "aspNetCore" tag. Once the hosting bundle was installed and the web.config change made I was running.
Hope that helps someone. This was the first search result I hit beginning to debug.
When I ran
dotnet run .\myapi.dll
I got
Did you mean to run dotnet SDK commands?
Please install dotnet SDK from: go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
when I went to the URL it installed SDK 2.1.403
which worked.
User contributions licensed under CC BY-SA 3.0