.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\< runtime_identifier>目录下,如果想生成生产环境的最终版本请通过如下命令获取:
dotnet publish -c release -r win10-x64 dotnet publish -c release -r osx.10.11-x64
通过上述命令生成的Release版本目标执行文件将生成在 .\bin\release\netcoreapp1.0\
我们来看一个新的csproj文件的完整定义:
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" /> <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 Include="**\*.cs" /> <EmbeddedResource Include="**\*.resx" /> </ItemGroup> <ItemGroup> <PackageReference Include="Microsoft.NETCore.App"> <Version>1.0.1</Version> </PackageReference> <PackageReference Include="Newtonsoft.Json"> <Version>9.0.1</Version> </PackageReference> <PackageReference Include="Microsoft.NET.Sdk"> <Version>1.0.0-alpha-20161102-2</Version> <PrivateAssets>All</PrivateAssets> </PackageReference> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> </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
fedora.23-x64
fedora.24-x64
OpenSUSE
opensuse.13.2-x64
opensuse.42.1-x64
Oracle Linux
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 | Ubuntu | CentOS | OS X |
|
|
|
|
Atas ialah kandungan terperinci .NET Core如何在新的项目系统中(.csproj)发布可执行文件. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Di Linux, fail boleh laku bermakna fail itu boleh dijalankan dan fail itu mempunyai kebenaran "x"; Terdapat dua cara untuk menjalankan fail: 1. Gunakan penterjemah untuk menjalankan fail secara terus 2. Gunakan "./" untuk menjalankan fail, dan sintaksnya ialah "./ nama fail".

PyInstaller: Kebebasan aplikasi Python PyInstaller ialah alat pembungkusan python sumber terbuka yang membungkus aplikasi Python dan kebergantungannya ke dalam fail boleh laku bebas. Proses ini menghapuskan pergantungan pada penterjemah Python sambil membenarkan aplikasi berjalan pada pelbagai platform, termasuk Windows, MacOS dan Linux. Proses Pembungkusan Proses pembungkusan PyInstaller adalah agak mudah dan melibatkan langkah-langkah berikut: pipinstallpyinstallerpyinstaller--onefile--windowedmain.py--onefile option mencipta satu

PyInstaller ialah alat revolusioner yang memperkasakan aplikasi Python melebihi bentuk skrip asalnya. Dengan menyusun kod Python ke dalam fail boleh laku kendiri, PyInstaller membuka kunci bidang pengedaran, penggunaan dan penyelenggaraan kod baharu. Daripada skrip tunggal kepada aplikasi berkuasa Pada masa lalu, skrip Python hanya wujud dalam persekitaran Python tertentu. Mengedarkan skrip sedemikian memerlukan pengguna memasang Python dan perpustakaan yang diperlukan, yang merupakan proses yang memakan masa dan menyusahkan. PyInstaller memperkenalkan konsep pembungkusan, menggabungkan kod Python dengan semua kebergantungan yang diperlukan ke dalam satu fail boleh laku. Seni Pembungkusan Kod Kerja PyInstaller

Tajuk: Petikan daripada LinuxWhichCommand: Tutorial praktikal dengan contoh menggunakan arahan "mana" pada Linux dan cara mencari pelbagai boleh laku dan skrip daripada pembolehubah PATH. Pautan kekal: linux-which-command Kategori: Perintah Linux Dalam panduan ini, kita akan mempelajari tentang arahan "Which" dalam Linux. Prasyarat: Untuk melaksanakan langkah yang ditunjukkan dalam panduan ini, anda memerlukan komponen berikut: Sistem Linux yang dikonfigurasikan dengan betul. Untuk tujuan ujian, disyorkan untuk menggunakan LinuxVM Mempunyai pemahaman asas tentang antara muka baris arahan yang mana sistem Linux Moden datang dengan berbilang alat terbina dalam yang boleh digunakan untuk pelbagai tugas seperti pentadbiran sistem.

Dalam dunia pembangunan perisian, kod pembungkusan ke dalam fail boleh laku adalah langkah penting. Untuk pembangun python, PyInstaller menonjol sebagai butler bergaya mereka yang mengubah skrip Python menjadi aplikasi kendiri dan mudah digunakan. Daya tarikan PyInstaller PyInstaller ialah alat berkuasa yang boleh membungkus kod Python dan kebergantungannya ke dalam satu fail boleh laku. Ia menghapuskan tugas yang membosankan untuk memasang penterjemah Python dan perpustakaan bergantung pada mesin sasaran, menjadikan penggunaan aplikasi menjadi mudah. Membungkus aplikasi menggunakan PyInstaller Untuk membungkus aplikasi menggunakan PyInstaller, ikut perkara di bawah

Kemahiran pembungkusan projek PyCharm: mengajar anda cara membungkus kod ke dalam fail boleh laku Pengenalan: Dalam proses pembangunan perisian, kod pembungkusan ke dalam fail boleh laku merupakan langkah yang sangat penting. Ia membolehkan aplikasi kami berjalan pada mesin yang berbeza dengan lebih mudah, sambil juga melindungi kod kami daripada pengubahsuaian. Artikel ini akan memperkenalkan cara menggunakan PyCharm untuk membungkus kod Python ke dalam fail boleh laku dan memberikan contoh kod khusus. Teks: 1. Pasang PyInstallerPyInstaller

Dengan pembangunan berterusan pengaturcaraan Python, pembangun sering menghadapi soalan: Bagaimana untuk membungkus program Python mereka ke dalam fail boleh laku bebas untuk perkongsian dan penggunaan yang mudah? Ini melibatkan kemahiran penting dalam PyCharm: pembungkusan program Python. Artikel ini akan berkongsi beberapa petua pengaturcaraan PyCharm dan mengajar anda cara menggunakan PyCharm untuk membungkus program Python ke dalam fail boleh laku bebas. Persediaan Sebelum memulakan, pastikan anda telah memasang PyCharm dan pihak ketiga yang diperlukan

Python telah menjadi salah satu bahasa pengaturcaraan yang paling popular di kalangan pembangun kerana perpustakaannya yang luas dan sintaks yang mudah digunakan. Walau bagaimanapun, perkara boleh menjadi rumit apabila aplikasi Python perlu digunakan sebagai boleh laku kendiri. Di sinilah PyInstaller masuk, alat yang berkuasa dan percuma dalam Python yang menukar skrip anda kepada program kendiri dan boleh laku. Memahami PyInstallerPyInstaller ialah alat merentas platform, yang bermaksud ia boleh dijalankan pada sistem Windows, MacOS dan Linux. Ia berfungsi dengan membungkus aplikasi Python dan kebergantungannya ke dalam satu fail boleh laku. fail boleh laku ini
