700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > ASP.NET Core 2.0 MVC 发布部署--------- ASP.NET Core 发布的具体操作

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

时间:2020-03-03 17:02:49

相关推荐

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

Core 发布的具体操作

下面使用C# 编写的 Core Web项目示例说明发布的全过程。

1、创建项目

选择“文件” > “新建” > “项目”。在“添加新项目”对话框中,在“已安装”“Visaul C#”“Web”项目类型窗格中选择“ CoreWeb 应用程序”,在“名称”文本框中输入项目名称如“MmPS”,点击 确定(如下图1),然后在中心窗格中选择“Web应用程序(模型视图控制器)”模板,然后选择“确定”按钮(如下图2)。

图1

图2

2、添加Web项目应用程序的源代码的各种逻辑

本项目是已经建好的,无需创建。此步骤省略。

3、发布Web项目

发布已经完善的Web项目应用程序,首先是定义应用的目标平台。

1、编辑项目资源

在“解决方案资源管理器”中右键单击项目(而非解决方案),然后选择“编辑 MmPS.csproj”。在MmPS.csproj文件(该文件用于定义应用的目)<PropertyGroup>部分中添加<RuntimeIdentifiers>标记,然后指定每个目标平台的运行时标识符 (RID)。请注意,如果是多个系统,还需要添加分号来分隔 RID。不同系统的RID会不同,具体请查看运行时标识符目录,获取运行时标识符列表。例如,以下示例表明应用在 64 位 Windows 10 操作系统和 64 位 OS X 10.11 版本的操作系统上运行。

在MmPS.csproj文件中添加

<PropertyGroup> <RuntimeIdentifiers>ubuntun.16.04-x64;osx.10.11-x64

</RuntimeIdentifiers>

</PropertyGroup>

2、发布应用

调试并测试程序后,为应用的每个目标平台创建要与应用一起发布的文件。从Visual Studio发布应用,执行以下操作:

l在“解决方案资源管理器”中右键单击项目(而非解决方案),然后选择“发布”,如下图3。

l在“发布”选项卡上,选择“发布”。Visual Studio将包含应用程序的文件写入本地文件系统。“发布”选项卡现在显示单个配置文件 FolderProfile。该配置文件的配置设置显示在选项卡的“摘要”部分。目标运行时用于标识已发布的运行时,目标位置用于标识独立部署文件的写入位置。

l默认情况下,Visual Studio 将所有已发布文件写入单个目录。为了方便起见,最好为每个目标运行时创建单个配置文件,并将已发布文件置于特定于平台的目录中。这包括为每个目标平台创建单独的发布配置文件。

l根据平台单独发布应用程序

现在执行下列操作,为每个平台重新生成应用程序:

1、在“发布”对话框中选择“创建新配置文件”。

在“选取发布目标”对话框中,将“选择文件夹”位置更改为 bin\Release\PublishOutput\ubuntun.16.04-x64。选择“确定”。

在配置文件列表中选择新配置文件 (FolderProfile1) ,并确保“目标运行时”为ubuntun.16.04-x64。如果不是,请选择“设置”。在“配置文件设置”对话框中,将“目标运行时”更改为ubuntun.16.04-x64,然后选择“保存”。否则,选择“取消”。

2、选择“发布”,发布 64 位 ubuntun.16.04平台的应用。

3、其他平台类似操作即可

再次按照上述步骤创建osx.10.11-x64平台的配置文件。“目标位置”为 bin\Release\PublishOutput\osx.10.11-x64,“目标运行时”为osx.10.11-x64。Visual Studio 分配给此配置文件的名称是 FolderProfile2。

请注意,每个目标位置中都包含启动应用所需的完整文件集(既包含应用文件,又包含所有 .NET Core 文件)。同时与应用程序的文件一起,发布过程将发出包含应用调试信息的程序数据库 (.pdb) 文件。该文件主要用于调试异常。可以选择不使用应用程序文件打包该文件。但是,如果要调试应用的发布版本,则应保存该文件。

4、可以把已经发布的文件部署到其他系统中了,例如,可以使用简单的copy命令将其打包为 Zip 文件,或者使用选择的安装包进行部署(下面会把发布的文件部署到ubuntun.16.04-x64)。

下面是本项目完整的 MmPS.csproj 文件。

<ProjectSdk=".Sdk.Web">

<PropertyGroupLabel="Globals">

<SccProjectName>SAK</SccProjectName>

<SccProvider>SAK</SccProvider>

<SccAuxPath>SAK</SccAuxPath>

<SccLocalPath>SAK</SccLocalPath>

</PropertyGroup>

<PropertyGroup>

<TargetFramework>netcoreapp2.0</TargetFramework>

<RuntimeIdentifiers>ubuntun.16.04-x64;osx.10.11-x64</RuntimeIdentifiers>

</PropertyGroup>

<ItemGroup>

<CompileRemove="Models\authority.cs"/>

<CompileRemove="Models\log.cs"/>

<CompileRemove="Models\menu.cs"/>

<CompileRemove="Models\module.cs"/>

<CompileRemove="Models\nodes.cs"/>

<CompileRemove="Models\roles.cs"/>

<CompileRemove="Models\source.cs"/>

<CompileRemove="Models\TestUser.cs"/>

<CompileRemove="Models\user.cs"/>

<CompileRemove="Models\userinrole.cs"/>

</ItemGroup>

<ItemGroup>

<ContentRemove="appsettings.Development.json"/>

<ContentRemove="Views\Index.cshtml"/>

</ItemGroup>

<ItemGroup>

<NoneRemove="Models\MMPS.txt"/>

<NoneRemove="Properties\PublishProfiles\CustomProfile.pubxml"/>

<NoneRemove="Views\Log.js"/>

<NoneRemove="Views\Log\Log.js"/>

<NoneRemove="Views\OrganizationInfo\OrganizationInfo.js"/>

<NoneRemove="Views\Update\UpdateUpload.js"/>

</ItemGroup>

<ItemGroup>

<ContentInclude="Views\Device\Device.js"/>

<ContentInclude="Views\Log\Log.js"/>

<ContentInclude="Views\Menu\Menu.js"/>

<ContentInclude="Views\OrganizationInfo\OrganizationInfo.js"/>

<ContentInclude="Views\Roles\Roles.js"/>

<ContentInclude="Views\Source\Source.js">

<CopyToOutputDirectory>Never</CopyToOutputDirectory>

</Content>

<ContentInclude="Views\Update\UpdateUpload.js"/>

<ContentInclude="Views\UserInfo\UserInfo.js">

<CopyToOutputDirectory>Never</CopyToOutputDirectory>

</Content>

</ItemGroup>

<ItemGroup>

<PackageReferenceInclude="AutoMapper"Version="6.1.1"/>

<PackageReferenceInclude="Dapper"Version="1.50.2"/>

<PackageReferenceInclude="Microsoft.AspNetCore.All"Version="2.0.0"/>

<PackageReferenceInclude="Microsoft.AspNetCore.Session"Version="2.0.0"/>

<PackageReferenceInclude="Microsoft.EntityFrameworkCore"Version="2.0.0"/>

<PackageReferenceInclude="Microsoft.EntityFrameworkCore.Design"Version="2.0.0"/>

<PackageReferenceInclude="Microsoft.EntityFrameworkCore.Tools"Version="2.0.0"/>

<PackageReferenceInclude="Microsoft.Extensions.Configuration"Version="2.0.0"/>

<PackageReferenceInclude="Microsoft.Extensions.Configuration.FileExtensions"Version="2.0.0"/>

<PackageReferenceInclude="Microsoft.Extensions.Configuration.Json"Version="2.0.0"/>

<PackageReferenceInclude="Microsoft.VisualStudio.Web.CodeGeneration.Design"Version="2.0.0"/>

<PackageReferenceInclude="MySql.Data.EntityFrameworkCore.Design"Version="8.0.8-dmr"/>

<PackageReferenceInclude="NETStandard.Library"Version="2.0.0"/>

<PackageReferenceInclude="newtonsoft.json"Version="10.0.3"/>

<PackageReferenceInclude="Pomelo.EntityFrameworkCore.MySql"Version="2.0.0-rtm-10062"/>

<PackageReferenceInclude="ponentModel"Version="4.3.0"/>

</ItemGroup>

<ItemGroup>

<DotNetCliToolReferenceInclude="Microsoft.VisualStudio.Web.CodeGeneration.Tools"Version="2.0.0"/>

</ItemGroup>

<ItemGroup>

<NoneInclude="wwwroot\js\kindeditor\kindeditor-all-min.js"/>

<NoneInclude="wwwroot\js\kindeditor\kindeditor-all.js"/>

<NoneInclude="wwwroot\js\kindeditor\lang\ar.js"/>

<NoneInclude="wwwroot\js\kindeditor\lang\en.js"/>

<NoneInclude="wwwroot\js\kindeditor\lang\ko.js"/>

<NoneInclude="wwwroot\js\kindeditor\lang\ru.js"/>

<NoneInclude="wwwroot\js\kindeditor\lang\zh-CN.js"/>

<NoneInclude="wwwroot\js\kindeditor\lang\zh-TW.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\anchor\anchor.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\autoheight\autoheight.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\baidumap\baidumap.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\clearhtml\clearhtml.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\code\code.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\code\prettify.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\emoticons\emoticons.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\filemanager\filemanager.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\fixtoolbar\fixtoolbar.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\flash\flash.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\image\image.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\insertfile\insertfile.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\lineheight\lineheight.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\link\link.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\map\map.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\media\media.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\multiimage\images\swfupload.swf"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\multiimage\multiimage.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\pagebreak\pagebreak.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\plainpaste\plainpaste.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\preview\preview.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\quickformat\quickformat.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\table\table.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\template\template.js"/>

<NoneInclude="wwwroot\js\kindeditor\plugins\wordpaste\wordpaste.js"/>

</ItemGroup>

<ItemGroup>

<ProjectReferenceInclude="..\DownloadHelper\DownloadHelper.csproj"/>

<ProjectReferenceInclude="..\MmPS.Application\MmPS.Application.csproj"/>

<ProjectReferenceInclude="..\mon.Data\mon.Data.csproj"/>

<ProjectReferenceInclude="..\MmPS.EntityFrameworkCore\MmPS.EntityFrameworkCore.csproj"/>

</ItemGroup>

<ItemGroup>

<FolderInclude="Properties\PublishProfiles\"/>

</ItemGroup>

<ItemGroup>

<ContentUpdate="wwwroot\js\views\source.js">

<CopyToOutputDirectory>Never</CopyToOutputDirectory>

</Content>

<ContentUpdate="wwwroot\js\views\userInfo.js">

<CopyToOutputDirectory>Never</CopyToOutputDirectory>

</Content>

</ItemGroup>

<ProjectExtensions><VisualStudio><UserPropertiesbower_1json__JSONSchema=""/></VisualStudio></ProjectExtensions>

</Project>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。