我在我的Windows系统上使用.net核心2.0v构建了一个webapi,并尝试在AWS linux ec2(Centos v。)上部署它。为了在Linux机器上部署它,我使用了nginx服务器,因为tomcat不支持托管.net core 2.0直到日期(我在博客上阅读)。我得到的错误低于
"An assembly specified in the application dependencies manifest (WebApplication1.deps.json) was not found: package: 'Microsoft.ApplicationInsights.AspNetCore', version: '2.1.1' path: 'lib/netstandard1.6/Microsoft.ApplicationInsights.AspNetCore.dll' This assembly was expected to be in the local runtime store as the application was published using the following target manifest files"
我知道这是一个简单的dll问题,通过阅读,但到目前为止我已经尝试过并观察到了
在第1步中,当我尝试按照MSN blog安装.net core 2.0 sdk时,它不允许我这样做并且为少数依赖关系提供错误(因此可能是根本原因是。)
在第2步中,我检查了opt / dotnet / dir,在此我只找到1.0.0-preview2-1-003177文件夹。我期待dot net core 2.0文件夹也应该存在。因为我已经用MSN给出的shell脚本安装了它。 (可能尚未完全安装包)
在第3步中,我尝试在dotnet new -t
命令的帮助下从Aws终端创建一个新的WebApi项目。但它提供了仅创建Web项目的选项。所以我创建了一个,结果我得到了一个MVC Web应用程序,而不是一个基于dot net 1.0结构的WebApi。
如果我尝试使用Windows VisualStudio命令提示符,那么它就可以让我选择在终端上创建WebApi项目。
在第4步中,我已经在ec2上复制了我的项目,并试图在dotnet命令的帮助下构建它,但它拒绝在目录上提供任何项目。 (可能是它没有认识到2.0应用程序。)
在第5步中,我尝试使用.net核心的自包含部署功能发布它,我发现此选项在这种情况下可能会有所帮助,但我再次遇到错误。在dot net的早期版本中,我们倾向于通过在web.config文件中编写特定版本来解决这些错误,但是在.net 2.0中我不知道如何在自包含部署中专门解决。
Could not load file or assembly 'System.Runtime.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The located assembly's manifest definition does not match the assembly reference.
完成所有这些后,我应该像.net核心2或1在Linux环境中不支持webapi直到日期或有一些解决方法这样做。我用谷歌搜索了一下everyone is suggesting to depoly web application(1.0v& MVC应用程序)。或者我在AWS ec2 Linux端有什么遗漏。
注意:在WebApi之上我已经在IIS上发布了它并且工作正常。同样的dll我已经复制到linux并尝试过。
总结我只是想在AWS ec2(linux,centos env。)上部署一个WebService(.Net core 2.0),所以如果你们中的任何人都这样做,请告诉我上面的内容是我的分析(可能是根据我的理解,这两个平台(AWS,.Net core 2)都没有那么多。
在尝试第5步之后,我预计可能会有一些可能性。