Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der ASP-Methode von Core zur Implementierung umfassender Alphabetisierungsaufkleber

Detaillierte Erläuterung der ASP-Methode von Core zur Implementierung umfassender Alphabetisierungsaufkleber

Y2J
Y2JOriginal
2017-05-04 10:55:191656Durchsuche

In diesem Artikel wird hauptsächlich .NET Core vorgestellt. .NET Core ist ein Open-Source- und universelles Entwicklungsframework, das plattformübergreifend unterstützt, dh die Entwicklung und Bereitstellung auf Windows, macOS, Linux und anderen Systemen , können Sie mehr erfahren.

1. Vorwort

Seit der Veröffentlichung von .NET sind vierzehn Jahre vergangen. Mit der kontinuierlichen Iteration der Version Update wird die Leistung von .NET auf der Windows-Plattform immer besser. Man kann sagen, dass .NET fast alle Anwendungstypen auf der Windows-Plattform verarbeiten kann.

Es ist nur Windows, das erfolgreich ist, und Windows scheitert, mit Ausnahme einiger „privater“ Versionen konnte .NET die Einschränkungen der Windows-Plattform mit offizieller Unterstützung nicht beseitigen.“ „Open Source“ und „plattformübergreifend“ Diese beiden Wörter sind auch der Schmerz im Herzen aller .NET-Entwickler. Schließlich entstand .NET Core, das es Entwicklern mit offizieller und Community-Unterstützung ermöglicht, über Windows hinauszugehen und Debugging zu schreiben und .NET-Programme auf macOS- und Linux-Mainstream-Distributionen bereitzustellen.

2. .NET Core Einführung

2.1 Was ist .NET Core

.NET Core ist ein allgemeines Open-Source-Entwicklungsframework, das plattformübergreifend unterstützt, das heißt, es unterstützt die Entwicklung und Bereitstellung auf Windows, macOS, Linux und anderen Systemen und kann in Hardwaregeräten, Cloud-Diensten und eingebetteten/IoT-Lösungen verwendet werden. Der Quellcode von .NET Core wird auf GitHub veröffentlicht und von Microsoft-Vertretern und der Community unterstützt.

Es hat eine „Teilmenge-Obermenge“-Beziehung zum traditionellen .NET Framework, oder Sie können es sich einfach als eine plattformübergreifende Version des .NET Frameworks vorstellen (basierend auf der BCL-Ebene). Dies liegt daran, dass in der aktuellen Version (1.0) der Großteil des Kerncodes in .NET Core vom .NET Framework geerbt und neu geschrieben wird, einschließlich Runtime und Bibliotheken (wie GC, JIT und einige Typen).

Kommentar: Ich kann Microsoft nur dafür danken, dass ich „CLR via C#“ nicht umsonst lesen musste. Es hat ein halbes Jahr gedauert, bis ich fertig war.

Die aktuelle .NET Core 1.0-Version ist eine sehr klein Der Kern, die APIs und die Tools sind noch nicht vollständig, aber mit der weiteren Verbesserung von .Net Core werden zusätzliche APIs und Innovationen in das .NET Framework integriert. Mit anderen Worten: .NET Core Microsoft wird .NET Framework und .NET Core gleichzeitig aktualisieren. Sie sind wie zwei Brüder, die zusammenarbeiten, um reich zu werden (für wen? Natürlich die .NET-Entwickler), um das zu erreichen. namens Weltharmonie, und es ist auch .NET Standard 2.0

Ich muss ein Konzept namens .NET Standard Library erwähnen. Als offizieller Supportstandard für die Entwicklung von .NET-Plattform-APIs erfordert er, dass alle .NET-Framework-APIs abwärtskompatibel sind. Beispielsweise unterstützt .NET Framwork 4.6 die .NET Standard Library 1.3, das .NET Framwork 4.6.2 Framework unterstützt die .NET Standard Library 1.5 und das .NET Core 1.0 Framework unterstützt den 1.6 Standard.

Der endgültige Ausblick lautet wie folgt:

2.2 .NET Core-Zusammensetzung

①.NET Runtime

Das ist CoreCLR. Wie bereits erwähnt, gibt es keinen Unterschied zwischen CoreCLR und der CLR von .NET Framework. Auch die Prozessverwaltung, GC und JIT (RyuJIT-Compiler) sind gleich, sie sind jedoch für das Serversystem optimiert. Jetzt werden auch CLR und CoreCLR gleichzeitig aktualisiert, aber sicher ist, dass CoreCLR die Zukunft von .NET ist und CLR als Mittel zur Kompatibilität existieren wird

②Framework-Bibliotheken,

Das ist CoreFX. Einschließlich Sammlungsklassen, Dateisystem-Verarbeitungsklassen, XML-Verarbeitungsklassen, asynchrone Aufgabenklassen usw.

③SDK-Tools und LangUage-Compiler ( SDK-Tools und Compiler)

Das heißt, CLI-Tool und Roslyn-Compiler. Es kann über das .NET Core SDK (.NET Core Development Kit) bezogen werden.

④dotnet'app host

wird verwendet, um die entsprechende Laufzeit auszuwählen und auszuführen, Prinzipien zum Laden von Komponenten bereitzustellen und .NET Core-Anwendungen zu starten. Mit dem gleichen Verfahren wird auch das SDK gestartet.

Tipps: Haben Sie sich an den MSCorEE.dll Shim erinnert, der auch die Arbeit der Auswahl der CLR-Version für .NET-Anwendungen auf der Windows-Plattform übernimmt

Funktionen von 2.3 .NET Core

①Plattformübergreifend

Kann unter Windows, macOS, Linux ausgeführt werden

②Flexibler Bereitstellungsmechanismus

1.Portable Anwendungen (tragbare Anwendungen)

Dieser Bereitstellungsmechanismus ähnelt dem herkömmlichen .NET Framework, sofern .NET auf dem Kern der Zielplattform vorhanden ist Laufzeit reicht.

2.Eigenständige Anwendung (selbstgehostete Anwendung)

Wie der Name schon sagt, verpackt dieser Bereitstellungsmechanismus die Anwendung und die Laufzeit zusammen, auch wenn dies nicht der Fall ist auf der Zielplattform installiert.NET Core Runtime kann auch normal verwendet werden

Die zweite Methode unterscheidet sich ebenfalls von .NET Native. Sie verwendet weiterhin CoreCLR, während .NET Native CoreRT als Laufzeit verwendet Einzelheiten finden Sie unter dotnet/corert

③Befehlszeilentool

Alle laufenden Skripte von .NET-Programmen können mit Befehlszeilentools (cmd, bash) ausgeführt werden. Hier sind einige gängige Donnet-Befehle

指令 帮助
dotnet new 产生新的基本 .NET 项目内容 (包含 project.json、Program.cs 以及 NuGet.config
dotnet restore 还原所参考的 NuGet 包
dotnet build 建造 .NET 项目
dotnet publish 产生可发行的 .NET 项目 (包含所属的 Runtime)
dotnet run 编译与立即运行 .NET 项目 (较适用于 exe 型项目)
dotnet repl 引导交互式的对话
dotnet pack 将项目的产出封装成 NuGet 包

④Kompatibilität

Kompatibel mit .NET Framework, Xamarin und Mono über die .NET Standard Library

⑤Open Source

.NET Core gehört zur .NET Foundation und wird offiziell von Microsoft unterstützt. Unter Verwendung der Open-Source-Lizenzen MIT und Apache 2 folgt die Dokumentlizenz CC-BY

2.4 Entwicklungssprache

Programmiersprache, die in der .NET Core 1.0-Version unterstützt wird Nur C# (F# und VB wurden noch nicht implementiert). Ein Open-Source-Sprachcompiler, Roslyn, ist für die Kompilierung des Codes in die uns vertraute IL-Sprache verantwortlich und kompiliert ihn dann die Maschine über den AOT- oder JIT-Compiler.

3. Erste Schritte

Der folgende Inhalt demonstriert die Befehlszeilengenerierung und Veröffentlichungsdemo unter Windows 10 und CentOS 7.2

3.1 Win 10

3.1.1 .NET Core SDK und .NET Core Runtime installieren

.NET Core SDK = Verwenden Sie .NET Core zum Entwickeln von NET Core Runtime- und SDK+CLI-Tools

3.1.2 Einfache Operationsergebnisse

Öffnen Sie cmd, geben Sie mkdir .project ein (Verzeichnis erstellen), cd ..project (Verzeichnis eingeben), dotnet new (neu erstellen). anfängliches Projekt), Dotnet Restore (Abhängigkeiten wiederherstellen), Dotnet Run (Ausführen), um das erste Hello World-Programm auszuführen

3.2 CentOS 7.2 (lokales Hyper-V)

3.2.1 Installation und Betrieb

Einzelheiten finden Sie unter: www.microsoft.com/net/core#windowsvs2015. Der ungefähre Befehl lautet wie folgt

sudo yum install libunwind libicu #安装libunwind,libicu包
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131 #下载dotnet-dev-centos-x64.1.0.0-preview2-003121.tar文件,有时会因为网络问题下载较慢,耐心等待即可,当然也可以手动下载后放到目录下。
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet #创建目录并解压已下载文件
sudo ln -s /opt/dotnet/dotnet /usr/local/bin #将目录链接到$PATH下,否则dotnet命令无法识别
mkdir hwapp
cd hwapp
dotnet new #创建默认.NET Core应用
dotnet restore #还原依赖包
dotnet run #运行,结果将显示Hello World!

Nach der sechsten Befehlszeile können Sie mit dotnet --info überprüfen, ob der Link erfolgreich ist, was wie folgt angezeigt wird

.NET Command Line Tools (1.0.0-preview2-003121)
Product Information:
 Version:   1.0.0-preview2-003121
 Commit SHA-1 hash: 1e9d529bc5
Runtime Environment:
 OS Name:  centos
 OS Version: 7
 OS Platform: Linux
 RID:   centos.7-x64

Die oben genannten Schritte finden Sie im .NET Auf der offiziellen Core-Website können Sie sehen, dass die Anwendung nach einem einfachen Dotnet New ausgeführt wird. Die Befehle Dotnet Restore und Dotnet Run werden ausgeführt. Dies ähnelt jedoch tatsächlich dem Debuggen und Ausführen in der Entwicklungsumgebung und der neuen Anwendung unter Win kann derzeit nicht direkt plattformübergreifend unter Linux ausgeführt werden, daher müssen wir den Befehl „dotnet veröffentlichen“ erneut erwähnen Datei

Wir folgen nun den Schritten zum Erstellen einer neuen HW-Konsole unter Win10. Um uns selbst anzuwenden, müssen wir gemäß den offiziellen Dokumentanforderungen die ursprüngliche project.json-Datei durch den folgenden Inhalt ersetzen (

Löschen

"type": "platform" und fügen Sie den Laufzeitknoten hinzu)

( 2) Führen Sie die Wiederherstellungs- und Veröffentlichungsvorgänge aus

und führen Sie dann den Dotnet-Restore-Befehl zur Wiederherstellung aus die Plattform. Dieser Schritt dauert lange, obwohl es nur zwei Plattformen gibt. Fahren Sie dann mit der Veröffentlichung von dotnetPublish -r centos.7-x64 -c fort.
{
 "version": "1.0.0-*",
 "buildOptions": {
 "debugType": "portable",
 "emitEntryPoint": true
 },
 "dependencies": {},
 "frameworks": {
 "netcoreapp1.0": {
  "dependencies": {
  "Microsoft.NETCore.App": {
   "version": "1.0.0"
  }
  },
  "imports": "dnxcore50"
 }
 },
 "runtimes":{
 "win10-x64":{}, #win10平台
 "centos.7-x64":{} #centos7.2平台
 }
}

Ausführliche Informationen zum Befehl dotnet Publish finden Sie unter dotnet-publish – Packt die Anwendung und alle ihre Abhängigkeiten in einen Ordner, um sie für die Veröffentlichung vorzubereiten

(3) in

Nachdem wir den obigen Vorgang auf der Linux-Plattform ausgeführt haben, müssen wir nur den veröffentlichten Ordner hochladen (bin/release/netcoreapp1.0/centos7-x64/publish, einschließlich self.exe)

Gehen Sie zum Projektordner (neu) im Linux-Stammverzeichnis und geben Sie den Befehl

in die Shell ein. Nachdem Sie die ausführbaren Berechtigungen geändert haben, können Sie erfolgreich ausführen „Hallo Welt“. Dies ist unsere Bereitstellungsmethode für „eigenständige Anwendungen“

4. Zusammenfassung

4.1 Ende

Das ist es, .NET Das Studium von Core ist abgeschlossen. Der obige Inhalt stellt kurz die Zusammensetzung und Eigenschaften von .NET Core vor. Außerdem werden Beispiele auf Windows- und Linux-Systemen mit zwei verschiedenen Bereitstellungsmethoden ausgeführt. Verglichen mit der vorherigen narrensicheren Bereitstellung von .NET Framework bringt die Neuheit von .NET Core meine Augen wirklich zum Leuchten. Als nächstes werde ich auch das Erlernen von .NET Core und ASP.NET Core aufzeichnen. Korrekturen sind willkommen.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der ASP-Methode von Core zur Implementierung umfassender Alphabetisierungsaufkleber. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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