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 "1"; } /// <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, "1") == 0) { tData.Tag = 1; tData.Result = new User() { Id = userId, Name = "sam", LoginCode = "111", LoginPwd = "222", 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 = 1; tData.Message = "保存成功!"; } else { tData.Message = "保存失败!"; } return tData; } }
5. 运行起来,使用PostMan调用一遍,保证服务是正常的,返回1表示调用成功

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


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

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

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

10. 调用我们创建的API


- 三、总结
一个简单的例子分享,在Liunx学习之旅,分享与记录。

浙公网安备 33010602011771号