WebApi(.Net core 2.0)在aws ec2(linux)上部署问题

时间:2017-09-15 05:38:37

标签: c# amazon-web-services asp.net-web-api amazon-ec2 asp.net-core

我在我的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步之后,我预计可能会有一些可能性。

0 个答案:

没有答案