这两天在公司跟同事偶然聊到 .netCore,说到一些趋势什么的。但是说来说去自己也没试过在Linux 机子上部署过,所以就试一下。

  尝试之前也在网上看了一些文章,包括 Linux 上.netCore 环境的配置,然后到 项目部署。

  然后在自己操作的时候发现有些跟自己看到的一点有所不同,比如:好些文章都讲到 发布 项目的时候,在 project.json 文件改平台信息。但自己操作发现没有这样一个选项。

后来才发现,网上说的方法是 .netCore 1.0 版本的(目前已经发布了 2.0 预览版),然后自己电脑上是 1.1 版本了,已经用回vs原来的项目文件后缀。ps 本文使用的是 vs2017+.netCore 1.1.

Linux 环境是 VMware 上装的虚拟机。

 直接上过程。

 1.首先是环境配置

  目前在微软 .netCore 的网站上各个系统环境配置过程  https://www.microsoft.com/net/core#linuxredhat

  本文 使用的是 Linux MInt 18. 下面是配置过程命令

  a 获取 .netCore 支持程序(直译)

  

  sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'

  sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893

  sudo apt-get update

  b 安装 .netCore SDK

  

  sudo apt-get install dotnet-dev-1.0.4

  (到这里其实环境已经安装完成,但是官网里后面还有两个步骤,是创建一个demo 看看的)

  c 创建一个 控制台程序 hwapp (Hello World app),创建的这个 hwapp 是以一个文件夹形式的。

  dotnet new console -o hwapp  

  然后 打开 hwapp 文件夹:

  cd hwapp

  d 然后 加载依赖(dotnet restore 从 nuget 按需下载项目所需的依赖,这个还是经常用的)

  dotnet restore

  最后就是运行项目了

  dotnet run

  2. 创建项目

  在上面我们已经搭建好Linux 上的.netCore 环境。接下来我们创建 项目。这里在 Windows 下创建。

  我们新建一个 基本的 .netCore MVC 项目

  

  创建完后我们直接发布

  

  发布这里,跟 1.0 发布的界面有所不同,我们这里选择文件夹

  

  

  得到 发布后的项目文件

  

  3.转移项目文件

  接下来就是把发布后的文件复制到 我们的 Linux 系统。这个复制手段有多种(镜像挂载,共享文件夹(需安装 VMware tools ),还有可以移动磁盘),本文这里用的是 优盘做中介,在windows 复制文件到 优盘 ,然后 再在虚拟机 挂载 优盘。

  

  然后把文件夹复制到 我们Linux 的一个 目录上 。本文将文件放到 /home/meng/myapps/app4 文件夹下

  

  4.执行程序

  下面又要开始敲命令了

  进入到我们程序的目录:

  cd /home/meng/myapps/app4

  

  

  然后 执行程序

  dotnet WebApplication1.dll (没错,就直接打开 主程序的 dll 就行了)

  

  (默认是打开 5000 端口)

  

  

  其实可以像下面那样直接运行

  dotnet /home/meng/myapps/app4/WebApplication1.dll

  基本的发布也就这样了。第一次用 Linux 发布 程序,有种感觉,就是程序的执行比 Windows 简单多,自己的项目自己用文件夹管理好,那我们直接用命令打开对应路径下的程序,就可以直接发布,感觉简单了好多。

windows 下开发的 .netCore MVC 部署到 Linux(Mint)的更多相关文章

  1. [MapReduce_add_1] Windows 下开发 MapReduce 程序部署到集群

    0. 说明  Windows 下开发 MapReduce 程序部署到集群 1. 前提 在本地开发的时候保证 resource 中包含以下配置文件,从集群的配置文件中拷贝 在 resource 中新建  ...

  2. Linux下与Windows下开发软件

    Linux下开发程序可以完全发挥自己的聪明才智,因为系统内核是完全开放的.Windows下开发程序就稍微郁闷一点,不论何种语言都必须在调用系统API的基础上开发,因为系统内核是不开放的. 这两种系统正 ...

  3. 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE

    http://www.crifan.com/how_to_do_python_development_under_windows_environment/ 本文目的 希望对于,如何在Windows下, ...

  4. windows下开发PHP扩展dll(无需Cygwin)

    windows下开发php扩展网上很多资料都说需要Cygwin,其实完全可以不必安装该东东.没错,是可以在linux下生成骨架后拷到windos下来用,但是,如果没有linux环境呢?什么,装虚拟机? ...

  5. windows下Redis 主从读写分离部署

    原文:windows下Redis 主从读写分离部署 1.可直接下载window下的运行文件(下面这个链接) 也可以浏览github 查看相应的版本说明文档 https://github.com/Ser ...

  6. gcc和MinGW的异同(在cygwin/gcc做的东西可以无缝的用在linux下,没有任何问题,是在windows下开发linux程序的一个很好的选择)

    cygwin/gcc和MinGW都是gcc在windows下的编译环境,但是它们有什么区别,在实际工作中如何选择这两种编译器. cygwin/gcc完全可以和在linux下的gcc化做等号,这个可以从 ...

  7. [转帖]Windows下cwRsyncServer双机连续同步部署

    Windows下cwRsyncServer双机连续同步部署 https://www.cnblogs.com/nulige/p/7607503.html 找时间做一下测试 应该能更好的实现 自动部署的功 ...

  8. .netcore项目部署到linux的docker里后,速度异常的慢

    .netcore项目部署到linux的docker里后,速度异常的慢,部署在iis下速度非常快. 特别是 接口里再调用其他接口,那速度绝对是蜗牛爬行的速度. 经过几个月的折腾,终于知道是什么问题了: ...

  9. Linux 如何使用压缩与解压缩的方式将Windows下的zip压缩包上传到Linux系统

    当我们无法使用xftp方式上传文件到Linux系统时,我们可以使用在Windows下压缩文件夹,然后到Linux系统下解压缩的方式,完成整个上传工作. 第一步:在Windows系统下,将整个文件夹压缩 ...

随机推荐

  1. 如何创建一个新浪微博应用以及获得Access token

    前提条件是您得先有一个新浪微博帐号. 打开网页http://open.weibo.com/wiki/%E9%A6%96%E9%A1%B5 点击新手引导->开发者页面: 会自动跳转到页面:http ...

  2. CRM WebClient UI和Hybris里工作中心跳转的url生成逻辑

    CRM WebClient UI 把Work center的navigation target在client side不可见:在Chrome development tool里看不到,而是点击了Wor ...

  3. CRSF在ASP.NET CORE MVC 的处理方式

    https://www.cnblogs.com/catcher1994/p/6720212.html

  4. Android(java)学习笔记69:短信发送器

    1. 一般我们第一步都是先创建这个main.xml布局文件,这是良好的习惯: <?xml version="1.0" encoding="utf-8"?& ...

  5. _default_ VirtualHost overlap on port 80, the first has precedence

    去掉#NameVirtualHost *:80,然后重启httpd

  6. input的类型为number,限制输入的数字位数

    <input type="text"  maxlength="5" />   效果ok,当 <input type="number& ...

  7. P3366 最小生成树【模板+Kruscal讲解】

    此题数组大小非常重要 算法过程: 现将全部边按照权值(由小到大)排序. 按顺序(同上)考虑每条边,只要这条边和之前已选择的边不构成圈,就保留这条边,否则放弃这条边. 具体算法 成功选择(n-1)条边后 ...

  8. 给树莓派Raspbian stretch版本修改软件源

    树莓派最新的系统版本是stretch,试了阿里和网易的软件源都不行,最后试了清华的可以 deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbia ...

  9. [Wolfgang Mauerer] 深入linux 内核架构 第一章 概述

    作为Linux开发爱好者,从事linux 开发有两年多时间.做过bsp移植,熟悉u-boot代码执行流程:看过几遍<linux 设备驱动程序开发>,分析过kernel启动流程,写过驱动,分 ...

  10. struts2属性驱动模型

    属性驱动模型的作用: 因为struts2与servlet API 实现了解耦,无法直接使用HttpServlet Request对象获取表单提交的参数,但Struts2提供了属性驱动模型机制来解决这个 ...