无法加载文件或程序集系统。运行时,版本=4.2.0.0,在Azure上运行Core 2.0应用程序

无法加载文件或程序集系统。运行时,版本=4.2.0.0,在Azure上运行Core 2.0应用程序,azure,f#,.net-core,Azure,F#,.net Core,我使用VS代码开发了一个简单的F#Suave应用程序,托管在控制台中 目标框架是Core2.0,在本地运行良好。代码由VSTS构建和打包(参考System.Runtime 4.3.0),然后部署到Azure应用程序服务 当我调用该网站时,它最终将使用HTTP 500超时,同时suave*.log写入异常: 未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集“System.Runtime,版本=4.2.0.0,区域性=中性,PublicKeyToke

我使用VS代码开发了一个简单的F#Suave应用程序,托管在控制台中

目标框架是Core2.0,在本地运行良好。代码由VSTS构建和打包(参考
System.Runtime 4.3.0
),然后部署到Azure应用程序服务

当我调用该网站时,它最终将使用HTTP 500超时,同时
suave*.log
写入异常:

未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集“System.Runtime,版本=4.2.0.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。系统找不到指定的文件

  • 我并没有从1.1或2.0更改框架,不管怎样清理了wwwroot
  • 已在web.config和app.config中尝试程序集重定向
这是否意味着某些包仍然引用4.2.0.0?
Azure有错吗

我通过创建和自包含部署()解决了这个错误,尽管我不认为这是更好的解决方案。

您有Visual Studio吗?如果直接通过VisualStudio将项目部署到Azure,结果会怎样?你能用一个新项目重现这个问题吗?VSTS构建和发布定义的任务是什么?你能在OneDrive上共享详细的VSTS构建和发布日志吗?我有VS,但无法发布该项目,因为它是一个consoleapp;一切都由VST完成。我还没有尝试用一个新项目来复制它,这需要一些时间来设置。同时,我必须在onedrive上构建步骤和日志:您能通过dotnet命令(dotnetxxx.dll)运行该应用程序吗?如果是这样,您可以从build下载工件,然后运行它并检查结果。另一方面,用一个新项目进行测试可以缩小问题的范围。虽然我发现了更多问题,但这个问题还没有解决;从外部看,它看起来像System.Runtime 4.3.0.0(在IDE的packages目录中)被引用,但在检查反编译dll时,引用是4.2.0.0。我发现一个链接()描述了类似的问题,但在那里使用的解决方案还没有解决我的问题。接下来我想尝试的是使用Suave部署一个F#AspNetCore应用程序,但我认为Suave.AspNetCore包还不支持.Net Core 2.0。我正在重新考虑我的整个堆栈…你能通过dotnet命令运行应用程序吗?