我在这里问了一个关于如何确保构建中包含正确版本的 dotnet 的问题。
我想知道该版本是否仍未部署。我会在部署的文件中寻找什么来说明?
部署确实包含以下文件
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.Template.dll 34,896 Microsoft.VisualStudio.Web.CodeGeneration.Utils.dll 157,776 Microsoft .VisualStudio.Web.CodeGenerators.Mvc.dll
当我登录到机器时,代码被部署并输入
dotnet .\myapi.dll
Run Code Online (Sandbox Code Playgroud)
错误是
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
Run Code Online (Sandbox Code Playgroud)
浏览网站 url 给出
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
Run Code Online (Sandbox Code Playgroud)
事件日志显示
failed to start process with commandline 'dotnet .\myapi.dll', ErrorCode = '0x80004005 : 80008096.
Run Code Online (Sandbox Code Playgroud)
如何确保 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
小智 5
只是发布此内容以防对某人有帮助。我在尝试在 IIS 上使用 ASP.Net Core 部署常规 .Net 站点时遇到了这个确切的错误。在我的例子中,.Net 已安装,但我的网站抛出 500 内部服务器错误,并且在事件日志中显示“无法使用命令行‘dotnet .\myapi.dll’启动进程”。它最终成为我的 web.config 文件,Visual Studio 的行开头如下:
<aspNetCore processPath="dotnet" arguments=".\myapi.dll"
Run Code Online (Sandbox Code Playgroud)
这最终成为问题,这就是启动 .Net Core 站点的方式。但我的目标是常规.Net。所以我的 web.config 需要是:
<aspNetCore processPath=".\myapi.exe" arguments=".\myapi.dll"
Run Code Online (Sandbox Code Playgroud)
在发现这一点之前,我曾尝试安装 .Net Core 运行时和 SDK,这两个最终都将错误转变为 500.19 内部服务器错误,错误代码为 0x8007000d。这表明我的 web.config 或 AppHost (IIS) 中存在格式错误的 XML。这些文件都没有 XML 语法问题。此特定错误是由于删除了 .Net Core 托管捆绑包而引起的。您需要为您的服务器安装托管捆绑包才能识别“aspNetCore”标签。安装托管包并更改 web.config 后,我就可以运行了。
希望对某人有帮助。这是我开始调试时遇到的第一个搜索结果。
| 归档时间: |
|
| 查看次数: |
14252 次 |
| 最近记录: |