• macOS上开发.NET Core项目并部署到CentOS


    一、使用yoeman脚手架工具构建项目

    (一)安装yoeman

    yoeman是脚手架工具,主要包括yo、Grunt、Bowert等,可以自动化构建许多不同类型的项目,包括ASP.NET Core项目,介绍:http://yeoman.io/

    安装之前,确保系统中已经安装Node.js,这样才可以使用npm命令进行安装。

    安装yo(-g进行全局安装):

    $npm install -g yo

    如果npm安装太过缓慢,可以使用阿里的镜像,方法详见:https://npm.taobao.org

    (二)安装generator-aspnet

    generator-aspnet是asp.net core的构建器,需要安装;

    generator-aspnet依赖bower工具,也要一起安装。

    $npm install -g bower
    $npm install -g generator-aspnet

    (三)使用yo工具构建ASP.NET Core项目

    终端中输入命令

    yo aspnet

    可以选择多个项目模板,这里以Web Application为例。

    然后选择安装Bootstrap,接着输入项目名称

    二、使用dotnet命令初始化项目

    安装.NET Core SDK,需要安装1.0 RC3及以上版本,如果低于这个版本,使用“dotnet restore”还原命令不能成功,案例见:http://stackoverflow.com/questions/42011846/new-dotnet-core-project-cannot-restore,最新的RC版本在这里下载:https://www.microsoft.com/net/download/core

    运行Web程序命令:

    cd YoAppDemo
    dotnet restore
    dotnet run

    保持窗口不要关闭,接着打开网址:http://localhost:5000,查看模板显示效果。

    三、使用VS Code开发项目

     (一)安装VS Code,下载地址:http://www.vscode.org

    安装C#、ASP.NET Core Snippets等插件,如图

    (二)使用VS Code打开项目目录进行开发

    这里要注意两点:

    1. 如果是初次安装VS Code,在进行调试时,会弹出错误对话框,提示.NET Core Debugger等工具未下载安装,解决办法是打开一个工程文件,VS Code会自动安装OmniSharp、.NET Core Debugger等工具。如果不能自动安装,打开“命令面板”,运行“Restore Packages”进行安装。安装速度很慢,FQ后效果好些。

    如果这几个工具没有安装完整,在进行程序调试时,还可能会出现MSBUILD错误,无法进行编译。

    2. 调试不成功的另一个原因,检查lanuch.json文件中“program”后的相应字段是否已经自动替换,如果未替换需要手动替换。

    三、部署到CentOS

    (一)部署之前,确保服务器中已经安装.NET Core。安装时需要注意:就是开发端使用的.NET Core版本要与部署服务器所用的版本的一致(我安装的都是1.0 RC4),

    安装步骤:

    wget https://go.microsoft.com/fwlink/?linkid=841688
    mkdir /opt/dotnet
    tar zxf dotnet.tar.gz -C /opt/dotnet
    ln -s /opt/dotnet/dotnet /usr/local/bin

    查看是否安装成功

    dotnet --version

     (二)macOS中发布程序

    进入程序目录,终端中执行命令

    dotnet publish

     然后进入程序目录下的Debug目录,将文件夹上传到CentOS服务器即可。

    这里需要注意的是,使用Win10+VS2015的开发环境,发布到CentOS时需要修改Project.json文件,在runtimes节点增加CentOS相应配置,并在使用发布命令时,需要指定平台参数,比如:dotnet publish -r centos.7-x64,但经过测试,macOS+Yoeman+Dotnet core 1.0 rc4+VS Code开发的.NET Core程序在发布时不用指定平台参数,在CentOS服务器中也可以正常运行。

    (三)CentOS中运行Web程序

    进行程序目录,运行命令

    dotnet run

     这里可能有一个BUG,即使macOS和CentOS中安装的.NET Core都是1.0 RC4版本,但在CentOS中还会报错,提示找不到Microsoft.NETCore.App的1.0.4版本

     

    我的解决办法是找到dotnet安装目录下的“Microsoft.NETCore.App”目录(如/opt/donet/shared/Microsoft.NETCore.App),然后将名为“1.0.3”的文件夹直接改为“1.0.4”,之后运行成功。

    还可以使用Nginx配合,具体办法见之前的文章:http://www.cnblogs.com/zhangfeistudio/p/6441508.html

  • 相关阅读:
    C#判断一个字符串是否是数字或者含有某个数字
    SQL多字段排序
    对于过长字符串的大小比对
    WebFrom页面绑定数据过于冗长的处理方法
    webform的导出
    SQL数据库Truncate的相关用法
    SQL的CharIndex用法
    近期总结
    每周一水(4-1)
    Codeforces Round #238 (Div. 2) 解题报告
  • 原文地址:https://www.cnblogs.com/zhangfeistudio/p/6445596.html
Copyright © 2020-2023  润新知