.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.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
ubuntu.16.10-x64
CentOS
Debian |
debian.8-x64
|
Fedora |
|
fedora.24-x64 opensuse.13.2-x64
|
|
linuxmint.17.2-x64
|
Windows Ubuntu
|
Visual Studio 2015 用 Visual C++ 再頒布可能パッケージ
以上が.NET Core が新しいプロジェクト システム (.csproj) で実行可能ファイルを公開する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

Linux では、実行可能ファイルは、ファイルが実行可能であり、ファイルに「x」権限があることを意味します。実行可能ファイルは、コード ファイル (スクリプト ファイル) またはバイナリ ファイルです。ファイルを実行するには 2 つの方法があります: 1. インタプリタを使用してファイルを直接実行する; 2. 「./」を使用してファイルを実行し、構文は「./ ファイル名」です。

PyInstaller: Python アプリケーションの独立性 PyInstaller は、Python アプリケーションとその依存関係を独立した実行可能ファイルにパッケージ化するオープンソースの Python パッケージ化ツールです。このプロセスにより、Python インタープリターへの依存が排除され、Windows、MacOS、Linux などのさまざまなプラットフォームでアプリケーションを実行できるようになります。パッケージ化プロセス PyInstaller のパッケージ化プロセスは比較的単純で、次の手順が含まれます。 pipinstallpyinstallerpyinstaller--onefile--windowedmain.py--onefile オプションは、単一のファイルを作成します。

PyInstaller は、元のスクリプト形式を超えて Python アプリケーションを強化する革新的なツールです。 Python コードをスタンドアロンの実行可能ファイルにコンパイルすることにより、PyInstaller はコードの配布、展開、およびメンテナンスの新しい領域を解放します。単一のスクリプトから強力なアプリケーションへ これまで、Python スクリプトは特定の Python 環境にのみ存在していました。このようなスクリプトを配布するには、ユーザーが Python と必要なライブラリをインストールする必要がありますが、これは時間がかかり面倒なプロセスです。 PyInstaller では、Python コードと必要なすべての依存関係を単一の実行可能ファイルに結合する、パッケージ化の概念が導入されています。 PyInstaller の作業をパッケージ化するコードの芸術

タイトル: LinuxWhichCommand からの抜粋: Linux での「that」コマンドの使用例と、PATH 変数からさまざまな実行可能ファイルやスクリプトを見つける方法を例に挙げた実践的なチュートリアル。固定リンク: linux-that-command カテゴリー: Linux コマンド このガイドでは、Linux の「Which」コマンドについて学びます。前提条件: このガイドで説明する手順を実行するには、次のコンポーネントが必要です。 適切に構成された Linux システム。テスト目的では、LinuxVM を使用することをお勧めします。コマンド ライン インターフェイスの基本を理解してください。最新の Linux システムには、システム管理などのさまざまなタスクに使用できる複数のツールが組み込まれています。

ソフトウェア開発の世界では、コードを実行可能ファイルにパッケージ化することは重要なステップです。 Python 開発者にとって、PyInstaller は、Python スクリプトをスタンドアロンで展開しやすいアプリケーションに変換するスタイリッシュな執事として際立っています。 PyInstaller の魅力 PyInstaller は、Python コードとその依存関係を 1 つの実行可能ファイルにパッケージ化できる強力なツールです。これにより、ターゲット マシンに Python インタープリターと依存ライブラリをインストールするという面倒な作業が不要になり、アプリケーションの展開が簡単になります。 PyInstaller を使用してアプリケーションをパッケージ化する PyInstaller を使用してアプリケーションをパッケージ化するには、次の手順に従います。

Python プログラミングの継続的な開発に伴い、開発者はしばしば次のような疑問に直面します。共有と展開を容易にするために、Python プログラムを独立した実行可能ファイルにパッケージ化するにはどうすればよいでしょうか?これには、Python プログラムのパッケージ化という、PyCharm の重要なスキルが関係します。この記事では、PyCharm プログラミングのヒントをいくつか紹介し、PyCharm を使用して Python プログラムを独立した実行可能ファイルにパッケージ化する方法を説明します。準備 開始する前に、PyCharm と必要なサードパーティがインストールされていることを確認してください。

PyCharm プロジェクトのパッケージ化スキル: コードを実行可能ファイルにパッケージ化する方法を教えます はじめに: ソフトウェア開発プロセスにおいて、コードを実行可能ファイルにパッケージ化することは非常に重要なステップです。これにより、コードを変更から保護しながら、アプリケーションをさまざまなマシン上でより簡単に実行できるようになります。この記事では、PyCharm を使用して Python コードを実行可能ファイルにパッケージ化する方法を紹介し、具体的なコード例を示します。テキスト: 1. PyInstallerPyInstaller をインストールする

Python は、その豊富なライブラリと使いやすい構文により、開発者の間で最も人気のあるプログラミング言語の 1 つとなっています。ただし、Python アプリケーションをスタンドアロンの実行可能ファイルとしてデプロイする必要がある場合、状況が複雑になる可能性があります。ここで PyInstaller が登場します。これは、スクリプトをスタンドアロンの実行可能プログラムに変換する Python の強力な無料ツールです。 PyInstaller について PyInstaller はクロスプラットフォーム ツールです。つまり、Windows、MacOS、および Linux システムで実行できます。これは、Python アプリケーションとその依存関係を 1 つの実行可能ファイルにパッケージ化することで機能します。この実行可能ファイル
