HTTP错误502.5 - 进程失败 - ASP.NET Core应用程序部署
我在将应用程序部署到服务器时出现问题。HTTP错误502.5 - 进程失败 - ASP.NET Core应用程序部署
我得到一个错误:
HTTP Error 502.5 - Process Failure
在日志文件中我可以看到:
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The located assembly's manifest definition does not match the assembly reference.
这里是我的project.json
{
"userSecretsId": "aspnet-travelingowe-c23d27a4-eb88-4b18-9b77-2a93f3b15119",
"dependencies": {
"Microsoft.AspNetCore.Diagnostics": "1.1.0",
"Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
"Microsoft.AspNetCore.SpaServices": "1.1.0-*",
"Microsoft.AspNetCore.StaticFiles": "1.1.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",
"Microsoft.Extensions.Configuration.Json": "1.1.0",
"Microsoft.Extensions.Configuration.CommandLine": "1.1.0",
"Microsoft.Extensions.Logging": "1.1.0",
"Microsoft.Extensions.Logging.Console": "1.1.0",
"Microsoft.Extensions.Logging.Debug": "1.1.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.1.0-preview4-final",
"type": "build"
},
"Microsoft.EntityFrameworkCore.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Hangfire.AspNetCore": "1.6.8",
"HangFire.SqlServer": "1.6.8",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Serilog": "2.4.0",
"Serilog.Extensions.Logging": "1.4.0-dev-10138",
"Serilog.Extensions.Logging.File": "1.0.1-dev-00008",
"MailKit": "1.10.2",
"Microsoft.AspNetCore.Mvc": "1.1.1",
"Microsoft.Extensions.Configuration.UserSecrets": "1.1.0",
"System.Xml.XDocument": "4.3.0",
"Microsoft.Extensions.Configuration.Binder": "1.1.0",
"System.Collections.Immutable": "1.3.0"
},
"tools": {
"Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final",
"Microsoft.DotNet.Watcher.Tools": "1.1.0-preview4-final",
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-preview3-final",
"Microsoft.Extensions.SecretManager.Tools": "1.1.0-preview4-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final"
},
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
}
},
"imports":
"dnxcore50"
}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true,
"compile": {
"exclude": [ "node_modules" ]
}
},
"runtimeOptions": {
"configProperties": {
"System.GC.Server": true
}
},
"publishOptions": {
"include": [
"appsettings.json",
"ClientApp/dist",
"Views",
"web.config",
"wwwroot"
],
"exclude": [
"wwwroot/dist/*.map"
]
},
"scripts": {
"prepublish": [
"npm install",
"node node_modules/webpack/bin/webpack.js --config webpack.config.vendor.js --env.prod",
"node node_modules/webpack/bin/webpack.js --env.prod"
],
"postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
},
"tooling": {
"defaultNamespace": "Travelingowe"
}
}
你有任何想法如何要解决这个问题 ?
更新: 现在我有一个错误:
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) at Microsoft.Extensions.Configuration.EnvironmentVariables.EnvironmentVariablesConfigurationProvider.Load(IDictionary envVariables) at Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList`1 providers) at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build() at MyProject.Program.Main(String[] args) in E:\Projects\MyProject\Program.cs:line 15
正如你可以在上面看到,它使用的本地我使用的服务器上的本地路径。我如何改变它?
您是否在安装.NET Core Windows Server Hosting软件包后重新启动IIS?
这是怎么了我normaly安装IIS运行.NET的核心:
- 安装IIS角色
- 安装.NET核心Windows服务器托管束(https://go.microsoft.com/fwlink/?linkid=837808)
- 重新启动IIS与净停止了/ y and net start w3svc(或重启机器)
- 将发布输出从VS发布到网页目录
- 更改应用程序池的.NET CLR版本为“无托管代码”
- 重新启动应用程序了游泳池和网页,它应该工作
来源:https://docs.microsoft.com/en-us/aspnet/core/publishing/iis
好像project.json是引用在.Net Core 1.1中仍然不支持的一个包。 从project.json中删除"System.Collections.Immutable": "1.3.0"
,因为从Nuget图库文档看来,它似乎还不支持.net Core 1.1
我删除了它,但问题仍然存在 – Cieja
我试过了,但是我没有帮助。我也更新了我的帖子。 – Cieja