我问了一个问题here,有关如何确保构建中包含正确版本的dotnet。
我想知道该版本是否仍未部署。 我要在已部署的文件中寻找什么来说明?
部署中确实包含以下文件
52,816 dotnet-aspnet-codegenerator-design.dll 689584 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
当我登录到计算机时,将在上面部署代码并键入
dotnet .\myapi.dll
错误是
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
浏览网站的网址会给出
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
事件日志显示
failed to start process with commandline 'dotnet .\myapi.dll', ErrorCode = '0x80004005 : 80008096.
如何确保已部署dotnet?
[更新]
我看到c:\ program files \ dotnet.exe是版本2.1.26919.1
但是我已经安装了.Net Core Runtime 2.1.5(x64) 我可以说它已安装,因为当我重新运行安装程序时,它会询问我是否要修复或卸载。
我想因为api在IIS下运行,所以不需要dotnet.exe吗?
计算机正在运行Windows 2012 Server R2
答案 0 :(得分:1)
只是发布此内容以防他人受骗。我遇到了这个确切的错误,试图在IIS上使用ASP.Net Core部署常规.Net网站。在我的情况下,安装了.Net,但是我的站点抛出500内部服务器错误,并且在事件日志中,我显示“无法使用命令行'dotnet。\ myapi.dll'启动进程”。最终是我的web.config文件,Visual Studio的行开头如下:
<aspNetCore processPath="dotnet" arguments=".\myapi.dll"
这最终成为问题,这就是您启动.Net Core网站的方式。但是我的目标是普通的.Net。所以我的web.config必须是:
<aspNetCore processPath=".\myapi.exe" arguments=".\myapi.dll"
在找到此错误之前,我曾尝试安装.Net Core运行时和SDK,它们最终都将错误转换为500.19内部服务器错误,错误代码为0x8007000d。这表明我的web.config或AppHost(IIS)中的XML格式错误。这些文件都没有XML语法问题。此特定错误是由于删除了.Net Core Hosting Bundle引起的。您需要为服务器安装主机捆绑包,才能识别“ aspNetCore”标签。安装了主机捆绑包并进行了web.config更改后,我开始运行。
希望可以帮助某人。这是我开始调试的第一个搜索结果。
答案 1 :(得分:0)
我跑步时
dotnet运行。\ myapi.dll
我知道了
Did you mean to run dotnet SDK commands?
Please install dotnet SDK from: go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
当我转到URL时,它安装了SDK 2.1.403
有效。