.NET Core如何在新的專案系統中(.csproj)發布可執行文件
一、前言
.NET工具链在最新的Preview3版本中,引入了新的MSBuild项目系统,项目文件又回归了.csproj的XML文件来管理,项目文件、包引用、程序集引用、.NET Core工具集、发布内容定义等内容。本文主要将主要讨论如何在新的项目系统中(.csproj)发布可执行文件。我们都知道在之前的版本中,项目文件是通过project.json文件来管理项目和包引用的,那么通过删除 dependencies->Microsoft.NETCore.App-> "type": "platform" 子节点,并定义runtimes节点,来发布可执行文件 。
所为可执行文件就是在目标机器上,不需要安装.NET Core SDK或任何Runtime,就可以执行的文件。比如在Windows上可以生成 coreapp.exe的可执行文件,而在Linux中可以使用 ./coreapp 来执行。
原理上这种可执行文件,就是通过一个C++应用程序为载体(宿主),加载CoreCLR,通过CoreCLR再加载任意的程序集,对这里有兴趣的朋友也可以到Github上去看一下CoreCLR中ClrHost的部分。
二、生成可执行
在新的.csproj项目文件中,我们要想发布一个可执行文件,就在手动创建名为
<propertygroup> <runtimeidentifiers>win10-x64;osx.10.11-x64</runtimeidentifiers> </propertygroup>
通过如下命令发布各平台的目标可执行文件:
dotnet build -r win10-x64 dotnet build -r osx.10.11-x64
上面的命令可以生成带有符号文件和调试信息的DEBUG版本,你的应用程序将生成在.\bin\Debug\netcoreapp1.0\目录下,如果想生成生产环境的最终版本请通过如下命令获取:
dotnet publish -c release -r win10-x64 dotnet publish -c release -r osx.10.11-x64
通过上述命令生成的Release版本目标执行文件将生成在 .\bin\release\netcoreapp1.0\
我们来看一个新的csproj文件的完整定义:
<project> <import></import> <propertygroup> <outputtype>Exe</outputtype> <targetframework>netcoreapp1.0</targetframework> <versionprefix>1.0.0</versionprefix> <debugtype>Portable</debugtype> <runtimeidentifiers>win10-x64;osx.10.11-x64</runtimeidentifiers> </propertygroup> <itemgroup> <compile></compile> <embeddedresource></embeddedresource> </itemgroup> <itemgroup> <packagereference> <version>1.0.1</version> </packagereference> <packagereference> <version>9.0.1</version> </packagereference> <packagereference> <version>1.0.0-alpha-20161102-2</version> <privateassets>All</privateassets> </packagereference> </itemgroup> <import></import> </project>
三、RID
RID是Runtime Identifier的缩写,它用于定义目标操作系统标示。RID会不断的更新,我们可以在CoreFx项目中找到RID定义,常用的RID有如下:
Windows RIDs
Windows 7 / Windows Server 2008 R2
win7-x64
win7-x86
Windows 8 / Windows Server 2012
win8-x64
win8-x86
win8-arm
Windows 8.1 / Windows Server 2012 R2
win81-x64
win81-x86
win81-arm
Windows 10 / Windows Server 2016
win10-x64
win10-x86
win10-arm
win10-arm64
Linux RIDs
Red Hat Enterprise Linux
rhel.7.0-x64
rhel.7.1-x64
rhel.7.2-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.7-x64
- ## Debian
debian.8-x64
- #fedora.23-x64
- #fedora.24-x64
- #opensuse.13.2-x64
- opensuse .42.1-x64
- ol.7-x64
- ol.7.0-x64
- ol.7.1-x64
-
ol.7.2-x64 -
#Currently supported Ubuntu derivatives -
#linuxmint.17-x64 -
#linuxmint.17.1-x64
#linuxmint.17.2-x64
linuxmint.17.3-x64
#linuxmint. 18-x64
-
OS X RIDs
osx.10.10-x64
osx.10.11-x64 | ##osx.10.12-x64 | 四、系統依賴 | 發佈出來的目標平台可執行文件,也是需要依賴系統特性的,接下來我們來看下系統的需要元件有哪些: |
Windows
|
|
|
libcurl -devel
openssl-devel
|
以上是.NET Core如何在新的專案系統中(.csproj)發布可執行文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PyInstaller:Python應用的獨立化PyInstaller是一款開源的python打包工具,它將Python應用程式及其相依性打包為一個獨立的執行檔。這個過程消除了對Python解釋器的依賴,同時允許應用程式在各種平台上運行,包括windows、MacOS和linux。打包過程PyInstaller的打包過程相對簡單,涉及以下步驟:pipinstallpyinstallerpyinstaller--onefile--windowedmain.py--onefile選項建立一個單一

在linux中,執行檔是指的是該檔案可以被執行,檔案有「x」權限;執行檔可以是一個程式碼檔案(腳本檔案),也可以是一個二進位檔案。一個文件運作有兩種方式:1、用解釋器直接去運行文件;2、利用「./」運行文件,語法「./ 文件名」。

PyInstaller是一個革命性的工具,它賦予python應用程式超越其原始腳本形態的能力。透過將Python程式碼編譯成獨立的可執行文件,PyInstaller解鎖了程式碼分發、部署和維護的新境界。從單一腳本到強大應用程式以往,Python腳本只存在於特定的Python環境中。分發這樣的腳本需要使用者安裝Python和必要的函式庫,這是一個費時且繁瑣的過程。 PyInstaller引入了打包的概念,將Python程式碼與所有必要的依賴項組合成一個單獨的執行檔。代碼打包的藝術PyInstaller的工

標題:LinuxWhichCommand摘錄:關於在Linux上使用」which」指令以及如何從PATH變數尋找各種可執行檔和腳本的實用教學以及範例。固定連結:linux-哪個-指令Category:Linux指令在本指南中,我們將了解Linux中的「Which」指令。先決條件:要執行本指南中示範的步驟,您需要以下元件:正確配置的Linux系統。出於測試目的,建議使用LinuxVM對命令列介面有基本了解which命令現代Linux系統都內建了多個工具,可用於各種任務,如係統管理、

在軟體開發的世界中,將程式碼打包成可執行檔是一個至關重要的步驟。對於python開發人員來說,PyInstaller脫穎而出,成為他們的時尚管家,將Python腳本轉化為獨立且易於部署的應用程式。 PyInstaller的魅力PyInstaller是一款強大的工具,可以將Python程式碼及其相依性打包成單一執行檔。它消除了在目標電腦上安裝Python解釋器和依賴函式庫的繁瑣任務,使應用程式的部署變得輕而易舉。使用PyInstaller打包應用程式要使用PyInstaller打包應用程序,請遵循以

PyCharm專案打包技巧:教你如何將程式碼打包為執行檔引言:在軟體開發過程中,將程式碼打包為執行檔是一個非常重要的步驟。它可以讓我們的應用程式更方便地在不同的機器上運行,同時也可以保護我們的程式碼不被修改。本文將介紹如何使用PyCharm將Python程式碼打包為可執行文件,並提供具體的程式碼範例。內文:一、安裝PyInstallerPyInstaller

隨著Python程式設計的不斷發展,開發者常常面臨一個問題:如何將自己的Python程式打包成獨立可執行文件,以便於分享和部署?這就牽涉到了PyCharm中的一項重要技能:打包Python程式。本文將分享一些PyCharm程式設計秘籍,教你如何使用PyCharm來打包Python程式為獨立執行檔。準備工作在開始之前,確保你已經安裝好PyCharm以及需要的第三

python是一種功能強大的程式語言,廣泛應用於各種領域。然而,當您需要將Python應用程式部署到其他電腦時,將面臨腳本不可執行的問題。為了解決這個難題,PyInstaller應運而生。這是一款出色的工具,可以將Python腳本轉換為獨立的可執行文件,讓您的應用程式能夠在任何電腦上運行,無需安裝Python解釋器。 PyInstaller的神奇轉換PyInstaller的工作原理簡單而有效率。它使用Python程式碼、所需的函式庫和所有相依性來建立一個可執行檔。此可執行檔包含應用程式的所有必要元件
