ASP.NET Core 发布,asp.netcore发布

第一步:运行 dotnet restore 命令,以还原项目中指定的依赖项

dotnet restore

第二步:使用 dotnet build 命令为目标平台上的应用创建调试版本。 如果不指定想要生成的运行时标识符,则 dotnet build 命令将会创建仅适用于当前系统运行时 ID 的版本。 可使用以下命令生成目标平台适用的应用:

dotnet build -r centos.7-x64

目标平台.NET Core 运行时标识符 (RID) 目录

Windows  / Windows Server  R2
win7-x64
win7-x86
Windows / Windows Server
win8-x64
win8-x86
win8-arm
Windows 8.1 / Windows Server R2
win81-x64
win81-x86
win81-arm
Windows / Windows Server
win10-x64
win10-x86
win10-arm
win10-arm64
Red Hat Enterprise Linux
rhel.-x64
rhel.7.0-x64
rhel.7.1-x64
rhel.7.2-x64
rhel.7.3-x64
rhel.7.4-x64
Ubuntu
ubuntu.14.04-x64
ubuntu.14.10-x64
ubuntu.15.04-x64
ubuntu.15.10-x64
ubuntu.16.04-x64
ubuntu.16.10-x64
CentOS
centos.-x64
Debian
debian.-x64
Fedora
fedora.-x64
fedora.-x64
OpenSUSE
opensuse.13.2-x64
opensuse.42.1-x64
Oracle Linux
ol.-x64
ol.7.0-x64
ol.7.1-x64
ol.7.2-x64
Currently supported Ubuntu derivatives
linuxmint.-x64
linuxmint.17.1-x64
linuxmint.17.2-x64
linuxmint.17.3-x64
linuxmint.-x64
OS X RIDs
osx.10.10-x64
osx.10.11-x64
osx.10.12-x64

注:如果没有通过,提示如下类似信息:

C:\Program Files\dotnet\sdk\1.0.0\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.Sdk.targets(92,5): error : Assets file 'D:\Site\GCClass4\obj\project.assets.json' doesn't have a target for '.NETCoreApp,Version=v1.0/win81-x64'. Ensure you have restored this project for TargetFramework='netcoreapp1.0' and RuntimeIdentifier='win81-x64'. [D:\Site\GCClass4\GCClass4.csproj]

请修改你的.csproj文件,如下(只添加红色这一行,紫色修改为你要的目标RID):

<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp1.</TargetFramework>
<RuntimeIdentifiers>centos.7-x64</RuntimeIdentifiers>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore" Version="1.0.3" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.0.2" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.0.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.0.1" />
<PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.0.1" />
</ItemGroup>
</Project>

再次执行“第一步”和“第二步”,通过后在继续以下步骤

第三步:调试并测试该程序后,可以通过对两个目标平台使用 dotnet publish 命令来为每个作为目标的平台创建要与应用一起部署的文件,如下所示:

dotnet publish -c release -r centos.-x64

-c 发布时要使用的配置。 默认值为 Debug。

-r 发布针对给定运行时的应用程序。 有关可以使用的运行时标识符 (RID) 列表,请参阅 RID 目录。

这将为目标平台创建一个应用的发行版(而不是调试版)。 生成的文件位于名为 publish 的子目录中,该目录位于项目的 .\bin\release\netcoreapp1.0\<runtime_identifier> 子目录的子目录中。 请注意,每个子目录中都包含完整的启动应用所需的文件集(既有应用文件,也有所有 .NET Core 文件)。

参考:https://docs.microsoft.com/en-us/dotnet/articles/core/tools/dotnet-build

https://docs.microsoft.com/en-us/dotnet/articles/standard/frameworks

https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog

引用:http://www.bkjia.com/Asp_Netjc/1199209.html

ASP.NET Core 发布的更多相关文章

  1. ASP.NET Core 发布至Linux生产环境 Ubuntu 系统

    ASP.NET Core 发布至Linux生产环境 Ubuntu 系统,之前跟大家讲解了 dotnet publish 发布,而没有将整个系统串起来. 今天就跟大家综合的讲一下ASP.NET Core ...

  2. asp.net core 发布到 docker 容器时文件体积过大及服务端口的配置疑问

    在 asp.net core 发布时,本人先后产生了3个疑问. 1.发布的程序为什么不能在docker容器中运行 当时在window开发环境中发布后,dotnet xxx.dll可以正常运行:但放入d ...

  3. ASP.NET Core 2.0 MVC 发布部署--------- ASP.NET Core 发布的具体操作

    ASP.NET Core 发布的具体操作 下面使用C# 编写的ASP.NET Core Web项目示例说明发布的全过程. 1.创建项目 选择“文件” > “新建” > “项目”. 在“添加 ...

  4. 使用 Visual Studio 部署 .NET Core 应用 ——ASP.NET Core 发布的具体操作

    ASP.NET Core 发布的具体操作 下面使用C# 编写的ASP.NET Core Web项目示例说明发布的全过程. 1.创建项目 选择“文件” > “新建” > “项目”. 在“添加 ...

  5. Asp.Net Core 发布和部署( MacOS + Linux + Nginx )

    前言 在上篇文章中,主要介绍了 Dotnet Core Run 命令,这篇文章主要是讲解如何在Linux中,对 Asp.Net Core 的程序进行发布和部署. 有关如何在 Jexus 中进行部署,请 ...

  6. Asp.Net Core 发布和部署(Linux + Jexus )

    前言 在上篇文章中,主要介绍了 Dotnet Core Run 命令,这篇文章主要是讲解如何在 asp.net core 中对我们的已经完成的程序进行发布和部署. 有关如何使用 Nginx 进行部署, ...

  7. ASP.NET Core 发布 centos7 配置守护进程

    ASP.NET Core应用程序发布linux在shell中运行是正常的.可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题 ...

  8. asp.net core 发布到iis session无法传递的问题

    网站是用asp.net core 的Razor Pages开发的,其中用户登录用到了session,调试运行没有问题,但是发布到iis之后出现session无法记录的问题. 我用log记录查看了一下, ...

  9. ASP.NET Core 发布之后通过命令控制监听地址和环境变量

    添加Command支持 新建一个ASP.NET Core 项目,打开Program.cs 添加下面的代码: public class Program { public static void Main ...

随机推荐

  1. nginx 源码安装的重启命令

    源码安装nginx就面临这样的麻烦,不能使用service nginx restart 来重启nginx,没办法只能重新加载下nginx. #/usr/local/nginx/sbin/nginx - ...

  2. BigInteger的使用

    [构造方法] BigInteger(String val) :将 BigInteger 的十进制字符串表示形式转换为 BigInteger. [常用方法] 1)add(BigInteger val): ...

  3. Centos7 安装PhantomJS

    1.下载地址:http://phantomjs.org/download.html 2.文件名:phantomjs-2.1.1-linux-x86_64.tar.bz2   # 下载好后进行解压(由于 ...

  4. ECMAScript 原始类型

    ---恢复内容开始--- ECMAScript 有 5 种原始类型(primitive type),即 Undefined.Null.Boolean.Number 和 String. 1.typeof ...

  5. BOM 和 DOM

    目录 一.BOM 1.什么是BOM 2. 浏览器内容划分 归BOM管的: 归DOM管的: 3. BOM常见方法 二.DOM 1 什么是DOM 2. DOM常见方法 一.BOM 1.什么是BOM BOM ...

  6. Git rebase命令实战

    一.前言 一句话,git rebase 可以帮助项目中的提交历史干净整洁!!! 二.避免合并出现分叉现象 git merge操作 1.新建一个 develop 分支   2.在develop分支上新建 ...

  7. Airtest基本使用

    前段时间在博客中见到airtest的介绍,自己并实践了一番,用起来的确很方便,所以今天就来分享下. Airtest简介 Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试 ...

  8. 实现DataGridView控件中CheckBox列的使用

    最近做WindowsForms程序,使用DataGridView控件时,加了一列做选择用,发现CheckBox不能选中.搜索后,要实现DataGridView的CellContentClick事件,将 ...

  9. 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range

    字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(en ...

  10. 练习七 Procedure中使用DDL

    1 在存储过程中使用ddl语句有如下异常: create or replace procedure test_create_table (Table_Name in VARCHAR2, column_ ...