Visual Studio编译Core程序部署到linux
- 一、背景
随着微软拥抱开源,推出Net Core框架,目前已经支持跨平台,能部署到Linux、MacOS、Windows等系统上。
下面我们就来分享一下Visual Studio编译好的代码部署到Linux上。
- 二 、简单例子
1. 新建一个API程序

2. 新建一个数据传输实体类
[Serializable]
public class TData
{
/// <summary>
/// 操作结果:Tag返回为1表示成功,0为失败
/// </summary>
public int Tag { get; set; }
/// <summary>
/// 返回消息
/// </summary>
public string Message { get; set; } } [Serializable]
public class TData<T> : TData
{
/// <summary>
/// 返回的结果
/// </summary>
public T Result { get; set; }
}
3. 新建一个User实体类
[Serializable]
public class User
{
public string Id { get; set; }
public string Name { get; set; }
public string LoginCode { get; set; }
public string LoginPwd { get; set; }
public string Gender { get; set; }
public string Address { get; set; }
}
4. 新建一个UserController控制器,新建两个API GetUserById和PostSaveUserInfo
[Route("api/[controller]/[action]")]
[ApiController]
public class UserController : ControllerBase
{
/// <summary>
/// 测试服务器连接
/// </summary>
/// <returns></returns>
[HttpGet]
public string Get()
{
return "";
}
/// <summary>
/// 根据User.Id获取用户信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
//[Route("GetUserById")]
[HttpGet]
public TData<User> GetUserById(string userId)
{
TData<User> tData = new TData<User>();
if (!string.IsNullOrEmpty(userId) && string.Compare(userId, "") == )
{
tData.Tag = ;
tData.Result = new User()
{
Id = userId,
Name = "sam",
LoginCode = "",
LoginPwd = "",
Gender = "男",
Address = "桂城"
};
}
else
{
tData.Message = "没有找到用户信息";
}
return tData;
}
/// <summary>
/// 保存用户信息
/// </summary>
/// <param name="user"></param>
/// <returns></returns>
//[Route("PostSaveUserInfo")]
[HttpPost]
public TData PostSaveUserInfo(User user)
{
TData tData = new TData();
if (user != null)
{
tData.Tag = ;
tData.Message = "保存成功!";
}
else
{
tData.Message = "保存失败!";
}
return tData;
}
}
5. 运行起来,使用PostMan调用一遍,保证服务是正常的,返回1表示调用成功

6. 发布项目,选择Linux 64运行环境


7. 使用FileZilla上传已经编译发布的文件

8. 使用dotnet命令启动这个程序

9. 测试API连接,返回1是正常的

10. 调用我们创建的API


- 三、总结
一个简单的例子分享,在Liunx学习之旅,分享与记录。
Visual Studio编译Core程序部署到linux的更多相关文章
- Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署
运行环境 照例,先亮环境:软件的话我这里假设你已经批准好了.net core 运行环境,未配置可以看我的这篇[linux(centos)搭建.net core 运行环境] 腾讯云 centos:7.2 ...
- Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署
运行环境 照例,先亮底 centos:7.2 cpu:1核 2G内存 1M带宽 辅助工具:xshell xftp 搭建.net core运行环境 .net core 的运行环境我单独写了一篇,请看我的 ...
- ASP.NET Core教程:ASP.NET Core程序部署到Linux
一.前言 这篇文章我们将讲解如何将ASP.NET Core 程序部署到Linux.这里我们使用的是虚拟机里面安装的Centos7.这里的ASP.NET Core程序,以上篇文章中发布的框架依赖文件为例 ...
- Visual Studio 编译Winform程序不生成.vshost.exe和.pdb文件的方法
问题:使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost.exe」和「.pdb」的文件. 先解释一下各个文件的作用: .pdb文件: ...
- 在Windows平台用visual studio编译的可执行文件部署时报:应用程序无法正常启动0xc000007b(跟DirectX9无关的原因)
最近在做EasyDarwin开源流媒体服务器Windows版本编译与部署时发现一个问题,在开发机本机运行都很正常,但是部署到目标机器(未安装vs等开发环境)时,莫名其妙报出了"应用程序无法正 ...
- Windows下docker的安装,将ASP.NET Core程序部署在Linux和Docker中
参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html docker for windows下载连接: htt ...
- 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台
使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台. 前面讲解了VSCode开发调试 .NET Core.都只是在windows下运行. .NET Core真正的核心是跨平 ...
- ASP.NET Core教程:ASP.NET Core 程序部署到Windows系统
一.创建项目 本篇文章介绍如何将一个ASP.NET Core Web程序部署到Windows系统上.这里以ASP.NET Core WebApi为例进行讲解.首先创建一个ASP.NET Core We ...
- .NET Core跨平台:.NET Core项目部署到linux(Centos7)
1.开篇说明 a 上篇博客简单的说明了一下 使用.NET Core开发的一个总结,地址是:(http://www.cnblogs.com/hanyinglong/p/6442148.html),那么这 ...
随机推荐
- python2.2 elif多条件判断
#案例:存款大于100万,买宝马:大于50万买丰田:大于20万买二手车:小于20万自行车! cunkuan=60#elif多条件判断,else:不满足elif执行其他命令if cunkuan>1 ...
- 004_自己尝试go语言中的方法
go语言可以给任意类型定义方法,我在学习过程中,一开始一头雾水,但是随着理解的深入,现在也大概知道了什么叫做方法 之前的一些例子其实讲的并不是特别生动,下面我用一个生动的例子演示一下 首先提出需求.我 ...
- Redis服务之Redis5集群相关命令说明
上一篇博客主要聊了下redis.trib.rb这个工具来管理redis3/4 cluster 中的节点,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13456 ...
- java进阶(6)--访问控制权限
一.四种访问控制权限 二.举例同包下访问权限
- JavaScript 实用方法
1.按时间显示问候语 2.强制光标停留位置 3.保存页面文本 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN& ...
- C#LeetCode刷题之#203-删除链表中的节点(Remove Linked List Elements)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3826 访问. 删除链表中等于给定值 val 的所有节点. 输入: ...
- Flutter 打包程序 build android apk
Step-1 Java 路径 找到java路径, 可使用[flutter doctor -v] Step-2: 进入目录 找到路径后 C:\Program Files\Java\jre1.8.0_23 ...
- 关于vector的erase删除操作的两种不同方法,在linux与visual studio的实现讨论
关于vector的erase删除操作的两种不同方法,在linux与visual studio的实现讨论 1.前言: 最近在做某一个题时,用到了vector的删除操作,利用的是erase()函数删除符合 ...
- Docker 的前世今生
虚拟化 「要解释清楚 Docker,首先要解释清楚容器(Container)的概念」.要解释容器的话,就需要从操作系统说起.操作系统太底层,细说的话一两本书都说不清楚.这里就一句话来总结一下:操作系统 ...
- 【转】Ubuntu下解决Depends: xxx(< 1.2.1) but xxx is to be installed
在ubuntu下由于更新package不成功,或者误删除了一些文件会出现Depends: xxx(< 1.2.1) but xxx is to be installed解决方法是先试着安装所缺的 ...