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. windows server远程连接提示“终端服务器超出了最大允许连接”

  2. Codeforces 305E Playing with String 博弈

    我们可以把每段连续可以选的字符看成一个游戏, 那么sg[ i ]表示连续 i 个字符可选的sg值. 然后找找第一个就好啦. #include<bits/stdc++.h> #define ...

  3. NOIP2017提高组Day2T3 列队 洛谷P3960 线段树

    原文链接https://www.cnblogs.com/zhouzhendong/p/9265380.html 题目传送门 - 洛谷P3960 题目传送门 - LOJ#2319 题目传送门 - Vij ...

  4. js让元素获取焦点

    js让元素获取焦点$("#startAddress").focus();

  5. P1182 数列分段`Section II` P1316 丢瓶盖 二分答案

    题目描述 对于给定的一个长度为N的正整数数列A-iA−i,现要将其分成M(M≤N)M(M≤N)段,并要求每段连续,且每段和的最大值最小. 关于最大值最小: 例如一数列4 2 4 5 142451要分成 ...

  6. 怎样将一个Long类型的数据转换成字节数组

    直接上代码: //先写进去 long n = 1000000L; ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutpu ...

  7. Dubbo入门---搭建一个最简单的Demo框架(转)

    Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本.  ...

  8. 用greenlet实现协程消费者生产者

    代码: from greenlet import greenlet import random def pro(): 生产者 while True: item = random.randint(0,9 ...

  9. 使用mini-textbox控件时 不能获取value值

    当使用class=“mini-textbox”文本框时 使用document.getElementById('id').value 获得的文本框输入值是‘undefined’而使用正常的input 不 ...

  10. Centos6.5部署Rsyslog+LogAnalyzer中文乱码解决

    中文乱码 [root@log include]# pwd /zhang/app/loganalyzer-/src/include [root@log include]# vim functions_c ...