Inhaltsverzeichnis
一、前言
二、生成可执行
三、RID
Heim Backend-Entwicklung C#.Net-Tutorial So veröffentlicht .NET Core ausführbare Dateien im neuen Projektsystem (.csproj)

So veröffentlicht .NET Core ausführbare Dateien im neuen Projektsystem (.csproj)

Apr 23, 2017 pm 04:28 PM
可执行文件

一、前言

  .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项目文件中,我们要想发布一个可执行文件,就在手动创建名为的节点,在这个节点下面,添加RuntimeIdentifiers也就是以前的RID定义,RID是描述系统平台的统一命名标示。例如我想要发布的可执行文件的目标系统平台为Win10Mac os 10.11.* 定义如下:


 <propertygroup>
      <runtimeidentifiers>win10-x64;osx.10.11-x64</runtimeidentifiers>
 </propertygroup>
Nach dem Login kopieren


  通过如下命令发布各平台的目标可执行文件:


dotnet build -r win10-x64
dotnet build -r osx.10.11-x64
Nach dem Login kopieren


  上面的命令可以生成带有符号文件和调试信息的DEBUG版本,你的应用程序将生成在.\bin\Debug\netcoreapp1.0\目录下,如果想生成生产环境的最终版本请通过如下命令获取:


dotnet publish -c release -r win10-x64
dotnet publish -c release -r osx.10.11-x64
Nach dem Login kopieren


  通过上述命令生成的Release版本目标执行文件将生成在 .\bin\release\netcoreapp1.0\目录下,并且每一个目标平台目录下都有生成的可执行文件、发布项目的程序集、.NET Core依赖或必要的文件来保证生成程序的独立可执行。

  我们来看一个新的csproj文件的完整定义:

So veröffentlicht .NET Core ausführbare Dateien im neuen Projektsystem (.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>
Nach dem Login kopieren

So veröffentlicht .NET Core ausführbare Dateien im neuen Projektsystem (.csproj)

三、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

  • Derzeit unterstützte Ubuntu-Derivate

    • 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

4. Systemabhängigkeiten

Die freigegebene ausführbare Datei der Zielplattform muss sich auch auf die Systemfunktionen stützen:

Windows Ubuntu CentOS

OS X

 
  • Visual C++ Redistributable 

  • for Visual Studio 2015

 
  • libunwind8

  • libunwind8-dev

  • gettext

  • libicu-dev

  • liblttng-ust-dev

  • libcurl4-openssl-dev

  • libssl-dev

  • uuid-dev

  • unzip

 
  • deltarpm

  • epel-release

  • unzip

  • libunwind

  • gettext

  • libcurl-devel

  • openssl-devel

  • zlib

  • libicu-devel

 

 

 

  • libssl version 1.0.1

 



Windows


Ubuntu CentOS OS X Visual C++ Redistributable für Visual Studio 2015 libunwind8 libunwind8-devgettextlibicu-devliblttng-ust-devlibcurl4-openssl-devlibssl-dev uuid-devunzip deltarpmepel-releaseunziplibunwindgettext libcurl-developenssl-develzliblibicu-devel libssl Version 1.0.1

Das obige ist der detaillierte Inhalt vonSo veröffentlicht .NET Core ausführbare Dateien im neuen Projektsystem (.csproj). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Unabhängigkeitserklärung für Python-Anwendungen: PyInstallers Weg zur Freiheit Unabhängigkeitserklärung für Python-Anwendungen: PyInstallers Weg zur Freiheit Feb 20, 2024 am 09:27 AM

PyInstaller: Unabhängigkeit von Python-Anwendungen PyInstaller ist ein Open-Source-Python-Paketierungstool, das Python-Anwendungen und ihre Abhängigkeiten in eine unabhängige ausführbare Datei packt. Dieser Prozess beseitigt die Abhängigkeit vom Python-Interpreter und ermöglicht gleichzeitig die Ausführung von Anwendungen auf einer Vielzahl von Plattformen, einschließlich Windows, MacOS und Linux. Verpackungsprozess Der Verpackungsprozess von PyInstaller ist relativ einfach und umfasst die folgenden Schritte: pipinstallpyinstallerpyinstaller--onefile--windowedmain.py--onefile Option erstellt eine einzelne

Was ist eine ausführbare Linux-Datei? Was ist eine ausführbare Linux-Datei? Mar 09, 2023 am 10:00 AM

Unter Linux bedeutet eine ausführbare Datei, dass die Datei ausgeführt werden kann und über „x“-Berechtigungen verfügt; die ausführbare Datei kann eine Codedatei (Skriptdatei) oder eine Binärdatei sein. Es gibt zwei Möglichkeiten, eine Datei auszuführen: 1. Verwenden Sie den Interpreter, um die Datei direkt auszuführen. 2. Verwenden Sie „./“, um die Datei auszuführen. Die Syntax lautet „./ Dateiname“.

Die ultimative Weiterentwicklung von Python-Anwendungen: PyInstaller verlässt den Kokon und wird zum Schmetterling Die ultimative Weiterentwicklung von Python-Anwendungen: PyInstaller verlässt den Kokon und wird zum Schmetterling Feb 19, 2024 pm 03:27 PM

PyInstaller ist ein revolutionäres Tool, das Python-Anwendungen über ihre ursprüngliche Skriptform hinaus stärkt. Durch das Kompilieren von Python-Code in eigenständige ausführbare Dateien eröffnet PyInstaller neue Möglichkeiten der Codeverteilung, -bereitstellung und -wartung. Von einem einzelnen Skript zu einer leistungsstarken Anwendung In der Vergangenheit existierten Python-Skripte nur in einer bestimmten Python-Umgebung. Um ein solches Skript zu verteilen, müssen Benutzer Python und die erforderlichen Bibliotheken installieren, was ein zeitaufwändiger und umständlicher Prozess ist. PyInstaller führt das Konzept des Paketierens ein und kombiniert Python-Code mit allen erforderlichen Abhängigkeiten in einer einzigen ausführbaren Datei. Die Kunst der Code-Verpackung Die Arbeit von PyInstaller

Welcher Befehl unter Linux Welcher Befehl unter Linux Mar 21, 2024 am 09:50 AM

Titel: Auszug aus LinuxWhichCommand: Ein praktisches Tutorial mit Beispielen zur Verwendung des Befehls „which“ unter Linux und zum Auffinden verschiedener ausführbarer Dateien und Skripts aus der PATH-Variablen. Permalink: linux-which-command Kategorie: Linux-Befehle In diesem Handbuch erfahren Sie mehr über den Befehl „Which“ unter Linux. Voraussetzungen: Um die in diesem Handbuch gezeigten Schritte ausführen zu können, benötigen Sie die folgenden Komponenten: Ein ordnungsgemäß konfiguriertes Linux-System. Zu Testzwecken wird die Verwendung von LinuxVM empfohlen. Sie verfügen über ein grundlegendes Verständnis der Befehlszeilenschnittstelle. Moderne Linux-Systeme verfügen über mehrere integrierte Tools, die für verschiedene Aufgaben wie Systemverwaltung verwendet werden können.

Eine Kostümparty für Python-Code: PyInstallers stilvoller Butler Eine Kostümparty für Python-Code: PyInstallers stilvoller Butler Feb 19, 2024 pm 06:39 PM

In der Welt der Softwareentwicklung ist das Packen von Code in eine ausführbare Datei ein entscheidender Schritt. Für Python-Entwickler ist PyInstaller der elegante Butler, der Python-Skripte in eigenständige und einfach bereitzustellende Anwendungen umwandelt. Der Charme von PyInstaller PyInstaller ist ein leistungsstarkes Tool, das Python-Code und seine Abhängigkeiten in eine einzige ausführbare Datei packen kann. Dadurch entfällt die mühsame Installation des Python-Interpreters und der abhängigen Bibliotheken auf dem Zielcomputer, sodass die Anwendungsbereitstellung zum Kinderspiel wird. Verpacken einer Anwendung mit PyInstaller Um eine Anwendung mit PyInstaller zu verpacken, gehen Sie wie folgt vor

So verwenden Sie PyCharm zum Packen von Code in eine ausführbare Datei: Detaillierte Erläuterung der Projektpaketierungstechniken So verwenden Sie PyCharm zum Packen von Code in eine ausführbare Datei: Detaillierte Erläuterung der Projektpaketierungstechniken Feb 02, 2024 pm 09:20 PM

Fähigkeiten zum Paketieren von PyCharm-Projekten: Erfahren Sie, wie Sie Code in ausführbare Dateien packen. Einführung: Im Softwareentwicklungsprozess ist das Packen von Code in ausführbare Dateien ein sehr wichtiger Schritt. Dadurch können unsere Anwendungen bequemer auf verschiedenen Computern ausgeführt werden und gleichzeitig wird unser Code vor Änderungen geschützt. In diesem Artikel wird erläutert, wie Sie mit PyCharm Python-Code in eine ausführbare Datei packen und spezifische Codebeispiele bereitstellen. Text: 1. Installieren Sie PyInstallerPyInstaller

PyCharm-Programmiertipps: Packen Sie Python-Programme in unabhängige ausführbare Dateien PyCharm-Programmiertipps: Packen Sie Python-Programme in unabhängige ausführbare Dateien Feb 21, 2024 am 08:54 AM

Angesichts der kontinuierlichen Weiterentwicklung der Python-Programmierung stehen Entwickler häufig vor der Frage: Wie können sie ihre Python-Programme in unabhängige ausführbare Dateien packen, um sie einfach zu teilen und bereitzustellen? Dies beinhaltet eine wichtige Fähigkeit in PyCharm: das Packen von Python-Programmen. In diesem Artikel werden einige Tipps zur PyCharm-Programmierung gegeben und Sie erfahren, wie Sie mit PyCharm Python-Programme in unabhängige ausführbare Dateien packen. Vorbereitung Bevor Sie beginnen, stellen Sie sicher, dass Sie PyCharm und den erforderlichen Drittanbieter installiert haben

Pythons unsichtbare Transformation: die schwarze Magie von PyInstaller Pythons unsichtbare Transformation: die schwarze Magie von PyInstaller Feb 19, 2024 pm 12:48 PM

Python hat sich aufgrund seiner umfangreichen Bibliotheken und seiner benutzerfreundlichen Syntax zu einer der beliebtesten Programmiersprachen unter Entwicklern entwickelt. Allerdings kann es kompliziert werden, wenn eine Python-Anwendung als eigenständige ausführbare Datei bereitgestellt werden muss. Hier kommt PyInstaller ins Spiel, ein leistungsstarkes und kostenloses Tool in Python, das Ihre Skripte in eigenständige, ausführbare Programme umwandelt. PyInstaller verstehenPyInstaller ist ein plattformübergreifendes Tool, das heißt, es kann auf Windows-, MacOS- und Linux-Systemen ausgeführt werden. Dabei werden eine Python-Anwendung und ihre Abhängigkeiten in eine einzige ausführbare Datei gepackt. diese ausführbare Datei

See all articles