这两天在公司跟同事偶然聊到 .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. Selenium入门20 等待时间

    自动化过程中有的页面元素加载慢或者需要等待特定条件执行后续步骤,此时需添加等待时间: 1 time.sleep()  固定等待时间,需import time 2 webdriver隐式等待 无需引入包 ...

  2. 使用 NetBackup 命令创建 Hyper-V 策略(命令创建其他策略也是如此)

    Veritas NetBackup™ for Hyper-V 管理指南 Product(s): NetBackup (8.1) 使用 NetBackup 命令创建 Hyper-V 策略 本主题介绍如何 ...

  3. caffe中的sgd,与激活函数(activation function)

    caffe中activation function的形式,直接决定了其训练速度以及SGD的求解. 在caffe中,不同的activation function对应的sgd的方式是不同的,因此,在配置文 ...

  4. 手机丢了怎么办?MZ给你来支招

    1致电运营商挂失手机 2致电银行冻结手机网银 3手机绑定支付宝的拨95188挂失 4微信用户登录110.qq.com冻结账号 5修改微博.微信.QQ等密码 6到手机运营商处补手机卡. 一定要记住啊!手 ...

  5. linux下Tomcat配置提示权限不够解决办法

    在终端输入命令 sudo chmod -R 777 /opt/Tomcat,那么Tomcat文件夹和它下面的所有子文件夹的属性都变成了777(读/写/执行权限)

  6. 基本数据类型补充,set集合,深浅拷贝等

    1.join:将字符串,列表,用指定的字符连接,也可以用空去连接,这样就可以把列表变成str ll = ["wang","jian","wei&quo ...

  7. js如何获得系统时间年月日时分秒

    javascript 自带有个对象(构造函数),Date().下面是代码: 回答一: var now = new Date();  var nowTime = now.toLocaleString() ...

  8. Python中的not, and, or

    logical_operator_lst = [ ('and 与运算',), ('or 或运算',), ('not 非运算',), ('逻辑运算符的优先级',), ('实例',), ('练习',), ...

  9. source tree 使用心得

    SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端管理工具,同时也是Mercurial和Subversion版本控制系统工具.支持创建.克隆.提交.pus ...

  10. Highest Tower 18中南多校第一场H题

    一.题意 给出N个方块,要求给出一个方案,使得1. 所有方块都被使用到(题目数据保证这点) 2.所有方块垒成一个塔,且上面的方块宽度小于下面的方块 3.每个方块只能用一次,可以横着或者竖着. n范围5 ...