ASP.NET Core 2.0 MVC 发布部署--------- ASP.NET Core 发布的具体操作
ASP.NET Core 發(fā)布的具體操作
下面使用C# 編寫的ASP.NET Core Web項目示例說明發(fā)布的全過程。
1、創(chuàng)建項目
選擇“文件” > “新建” > “項目”。?在“添加新項目”對話框中,在“已安裝”?“Visaul C#”??“Web”?項目類型窗格中選擇“ASP.NET Core?Web 應用程序”,在“名稱”文本框中輸入項目名稱如“MmPS”,點擊 確定(如下圖1),然后在中心窗格中選擇“Web應用程序(模型視圖控制器)”模板,?然后選擇“確定”按鈕(如下圖2)。
?
?
圖1
?
?
圖2
?
2、添加Web項目應用程序的源代碼的各種邏輯
本項目是已經建好的,無需創(chuàng)建。此步驟省略。
3、發(fā)布Web項目
發(fā)布已經完善的Web項目應用程序,首先是定義應用的目標平臺。
1、編輯項目資源
在“解決方案資源管理器”中右鍵單擊項目(而非解決方案),然后選擇“編輯 MmPS.csproj”。在MmPS.csproj文件(該文件用于定義應用的目)?<PropertyGroup>?部分中添加<RuntimeIdentifiers>?標記,然后指定每個目標平臺的運行時標識符 (RID)。?請注意,如果是多個系統(tǒng),還需要添加分號來分隔 RID。?不同系統(tǒng)的RID會不同,具體請查看運行時標識符目錄,獲取運行時標識符列表。例如,以下示例表明應用在 64 位 Windows 10 操作系統(tǒng)和 64 位 OS X 10.11 版本的操作系統(tǒng)上運行。
在MmPS.csproj文件中添加
<PropertyGroup> ??? <RuntimeIdentifiers>ubuntun.16.04-x64;osx.10.11-x64
</RuntimeIdentifiers>
</PropertyGroup>
2、發(fā)布應用
調試并測試程序后,為應用的每個目標平臺創(chuàng)建要與應用一起發(fā)布的文件。從Visual Studio發(fā)布應用,執(zhí)行以下操作:
l?在“解決方案資源管理器”中右鍵單擊項目(而非解決方案),然后選擇“發(fā)布”,如下圖3。
?
l?在“發(fā)布”選項卡上,選擇“發(fā)布”。?Visual Studio將包含應用程序的文件寫入本地文件系統(tǒng)。“發(fā)布”選項卡現在顯示單個配置文件 FolderProfile。?該配置文件的配置設置顯示在選項卡的“摘要”部分。目標運行時用于標識已發(fā)布的運行時,目標位置用于標識獨立部署文件的寫入位置。
l?默認情況下,Visual Studio 將所有已發(fā)布文件寫入單個目錄。?為了方便起見,最好為每個目標運行時創(chuàng)建單個配置文件,并將已發(fā)布文件置于特定于平臺的目錄中。?這包括為每個目標平臺創(chuàng)建單獨的發(fā)布配置文件。?
l?根據平臺單獨發(fā)布應用程序
現在執(zhí)行下列操作,為每個平臺重新生成應用程序:
1、在“發(fā)布”對話框中選擇“創(chuàng)建新配置文件”。
在“選取發(fā)布目標”對話框中,將“選擇文件夾”位置更改為 bin\Release\PublishOutput\ubuntun.16.04-x64。?選擇“確定”。
在配置文件列表中選擇新配置文件 (FolderProfile1) ,并確保“目標運行時”為?ubuntun.16.04-x64。?如果不是,請選擇“設置”。?在“配置文件設置”對話框中,將“目標運行時”更改為?ubuntun.16.04-x64,然后選擇“保存”。?否則,選擇“取消”。
2、選擇“發(fā)布”,發(fā)布 64 位 ubuntun.16.04平臺的應用。
3、其他平臺類似操作即可
再次按照上述步驟創(chuàng)建?osx.10.11-x64?平臺的配置文件。?“目標位置”為 bin\Release\PublishOutput\osx.10.11-x64,“目標運行時”為?osx.10.11-x64。Visual Studio 分配給此配置文件的名稱是 FolderProfile2。
請注意,每個目標位置中都包含啟動應用所需的完整文件集(既包含應用文件,又包含所有 .NET Core 文件)。同時與應用程序的文件一起,發(fā)布過程將發(fā)出包含應用調試信息的程序數據庫 (.pdb) 文件。?該文件主要用于調試異常。?可以選擇不使用應用程序文件打包該文件。?但是,如果要調試應用的發(fā)布版本,則應保存該文件。
4、可以把已經發(fā)布的文件部署到其他系統(tǒng)中了,?例如,可以使用簡單的?copy?命令將其打包為 Zip 文件,或者使用選擇的安裝包進行部署(下面會把發(fā)布的文件部署到ubuntun.16.04-x64)。
下面是本項目完整的 MmPS.csproj 文件。
<Project?Sdk="Microsoft.NET.Sdk.Web">
?
??<PropertyGroup?Label="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>
????<Compile?Remove="Models\authority.cs"?/>
????<Compile?Remove="Models\log.cs"?/>
????<Compile?Remove="Models\menu.cs"?/>
????<Compile?Remove="Models\module.cs"?/>
????<Compile?Remove="Models\nodes.cs"?/>
????<Compile?Remove="Models\roles.cs"?/>
????<Compile?Remove="Models\source.cs"?/>
????<Compile?Remove="Models\TestUser.cs"?/>
????<Compile?Remove="Models\user.cs"?/>
????<Compile?Remove="Models\userinrole.cs"?/>
??</ItemGroup>
?
??<ItemGroup>
????<Content?Remove="appsettings.Development.json"?/>
????<Content?Remove="Views\Index.cshtml"?/>
??</ItemGroup>
?
??<ItemGroup>
????<None?Remove="Models\MMPS.txt"?/>
????<None?Remove="Properties\PublishProfiles\CustomProfile.pubxml"?/>
????<None?Remove="Views\Log.js"?/>
????<None?Remove="Views\Log\Log.js"?/>
????<None?Remove="Views\OrganizationInfo\OrganizationInfo.js"?/>
????<None?Remove="Views\Update\UpdateUpload.js"?/>
??</ItemGroup>
?
??<ItemGroup>
????<Content?Include="Views\Device\Device.js"?/>
????<Content?Include="Views\Log\Log.js"?/>
????<Content?Include="Views\Menu\Menu.js"?/>
????<Content?Include="Views\OrganizationInfo\OrganizationInfo.js"?/>
????<Content?Include="Views\Roles\Roles.js"?/>
????<Content?Include="Views\Source\Source.js">
??????<CopyToOutputDirectory>Never</CopyToOutputDirectory>
????</Content>
????<Content?Include="Views\Update\UpdateUpload.js"?/>
????<Content?Include="Views\UserInfo\UserInfo.js">
??????<CopyToOutputDirectory>Never</CopyToOutputDirectory>
????</Content>
??</ItemGroup>
?
??<ItemGroup>
????<PackageReference?Include="AutoMapper"?Version="6.1.1"?/>
????<PackageReference?Include="Dapper"?Version="1.50.2"?/>
????<PackageReference?Include="Microsoft.AspNetCore.All"?Version="2.0.0"?/>
????<PackageReference?Include="Microsoft.AspNetCore.Session"?Version="2.0.0"?/>
????<PackageReference?Include="Microsoft.EntityFrameworkCore"?Version="2.0.0"?/>
????<PackageReference?Include="Microsoft.EntityFrameworkCore.Design"?Version="2.0.0"?/>
????<PackageReference?Include="Microsoft.EntityFrameworkCore.Tools"?Version="2.0.0"?/>
????<PackageReference?Include="Microsoft.Extensions.Configuration"?Version="2.0.0"?/>
????<PackageReference?Include="Microsoft.Extensions.Configuration.FileExtensions"?Version="2.0.0"?/>
????<PackageReference?Include="Microsoft.Extensions.Configuration.Json"?Version="2.0.0"?/>
????<PackageReference?Include="Microsoft.VisualStudio.Web.CodeGeneration.Design"?Version="2.0.0"?/>
????<PackageReference?Include="MySql.Data.EntityFrameworkCore.Design"?Version="8.0.8-dmr"?/>
????<PackageReference?Include="NETStandard.Library"?Version="2.0.0"?/>
????<PackageReference?Include="newtonsoft.json"?Version="10.0.3"?/>
????<PackageReference?Include="Pomelo.EntityFrameworkCore.MySql"?Version="2.0.0-rtm-10062"?/>
????<PackageReference?Include="System.ComponentModel"?Version="4.3.0"?/>
??</ItemGroup>
?
??<ItemGroup>
????<DotNetCliToolReference?Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools"?Version="2.0.0"?/>
??</ItemGroup>
?
??<ItemGroup>
????<None?Include="wwwroot\js\kindeditor\kindeditor-all-min.js"?/>
????<None?Include="wwwroot\js\kindeditor\kindeditor-all.js"?/>
????<None?Include="wwwroot\js\kindeditor\lang\ar.js"?/>
????<None?Include="wwwroot\js\kindeditor\lang\en.js"?/>
????<None?Include="wwwroot\js\kindeditor\lang\ko.js"?/>
????<None?Include="wwwroot\js\kindeditor\lang\ru.js"?/>
????<None?Include="wwwroot\js\kindeditor\lang\zh-CN.js"?/>
????<None?Include="wwwroot\js\kindeditor\lang\zh-TW.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\anchor\anchor.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\autoheight\autoheight.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\baidumap\baidumap.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\clearhtml\clearhtml.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\code\code.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\code\prettify.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\emoticons\emoticons.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\filemanager\filemanager.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\fixtoolbar\fixtoolbar.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\flash\flash.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\image\image.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\insertfile\insertfile.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\lineheight\lineheight.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\link\link.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\map\map.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\media\media.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\multiimage\images\swfupload.swf"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\multiimage\multiimage.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\pagebreak\pagebreak.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\plainpaste\plainpaste.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\preview\preview.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\quickformat\quickformat.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\table\table.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\template\template.js"?/>
????<None?Include="wwwroot\js\kindeditor\plugins\wordpaste\wordpaste.js"?/>
??</ItemGroup>
?
??<ItemGroup>
????<ProjectReference?Include="..\DownloadHelper\DownloadHelper.csproj"?/>
????<ProjectReference?Include="..\MmPS.Application\MmPS.Application.csproj"?/>
????<ProjectReference?Include="..\MmPS.Common.Data\MmPS.Common.Data.csproj"?/>
????<ProjectReference?Include="..\MmPS.EntityFrameworkCore\MmPS.EntityFrameworkCore.csproj"?/>
??</ItemGroup>
?
??<ItemGroup>
????<Folder?Include="Properties\PublishProfiles\"?/>
??</ItemGroup>
?
??<ItemGroup>
????<Content?Update="wwwroot\js\views\source.js">
??????<CopyToOutputDirectory>Never</CopyToOutputDirectory>
????</Content>
????<Content?Update="wwwroot\js\views\userInfo.js">
??????<CopyToOutputDirectory>Never</CopyToOutputDirectory>
????</Content>
??</ItemGroup>
?
??<ProjectExtensions><VisualStudio><UserProperties?bower_1json__JSONSchema=""?/></VisualStudio></ProjectExtensions>
?
</Project>
?
轉載于:https://www.cnblogs.com/1175429393wljblog/p/8329707.html
總結
以上是生活随笔為你收集整理的ASP.NET Core 2.0 MVC 发布部署--------- ASP.NET Core 发布的具体操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 贴贴tietie照片可以删吗(居然可以这
- 下一篇: 云闪付收款要手续费吗