Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 23453|Jawab: 0

[Inti .NET] [Pengantar DotNet (2)]. Kompilasi dan rilis NET Core

[Salin tautan]
Diposting pada 21/01/2019 17.10.26 | | | |
1. Alat antarmuka baris perintah (CLI) NET Core
Tidak digunakan lagi project.json dan menggantinya dengan file .csproj, yang project.json digunakan sebagai file konfigurasi proyek di inti .NET awal, dan diperkirakan Microsoft tidak digunakan lagi setelah menemukan beberapa masalah, dan MSBuild masih digunakan sebagai alat kompilasi .net.

MSBuild memperkenalkan:https://docs.microsoft.com/zh-cn ... sbuild?view=vs-2017

Saat kita melakukan kompilasi dan pembuatan VS, VS hanya membantu kita memanggil alat MSBuild, yang berarti bahwa ketika kita mengkompilasi proyek .NET, kita tidak perlu menginstal alat VS sama sekali.

Perintah alat .NET Core CLI adalah sebagai berikut:

Alat Baris Perintah .NET (2.1.301)
Penggunaan: dotnet [opsi runtime] [jalur-ke-aplikasi]
Penggunaan: dotnet [sdk-options] [command] [argumen] [command-options]

path-to-application:
  Jalur ke aplikasi .dll file yang akan dieksekusi.

Perintah SDK:
  new menginisialisasi proyek .NET.
  memulihkan dependensi yang ditentukan dalam proyek .NET.
  Jalankan dan jalankan proyek .NET segera.
  membangun proyek .NET.
  publish menerbitkan proyek .NET untuk penyebaran (termasuk runtime).
  Uji coba menjalankan pengujian unit menggunakan pelari pengujian yang ditentukan dalam proyek.
  untuk membuat paket NuGet.
  memigrasikan proyek berbasis project.json ke proyek berbasis MSBuild.
  bersihkan bersih output yang dihasilkan.
  File Solusi Modifikasi SLN (SLN).
  tambahkan ke referensi.
  hapus dari proyek.
  Cantumkan alat yang direferensikan atau diinstal proyek.
  NuGet menyediakan perintah NuGet tambahan.
  msbuild menjalankan Microsoft Build Engine (MSBuild).
  vstest menjalankan alat baris perintah Eksekusi Pengujian Microsoft.
  Store menyimpan rakitan yang ditentukan di penyimpanan runtime.
  untuk menginstal atau menggunakan alat yang memperluas pengalaman .NET.
  build-server berinteraksi dengan server yang diluncurkan oleh versi build.
  bantuan menunjukkan bantuan.

Opsi Umum:
  -v|--verbosity mengatur tingkat detail perintah. Nilai yang diizinkan adalah Q[UIET], M[inimal], N[Ormal], D[etailed], dan diag[nostic].
  -h|--help menunjukkan bantuan.

Jalankan perintah dotnet --help untuk mendapatkan informasi lebih lanjut tentang perintah tersebut.

sdk-options:
  --version menunjukkan versi .NET Core SDK yang digunakan.
  --info menampilkan informasi .NET Core.
  --list-sdks untuk menampilkan SDK yang diinstal.
  --list-runtimes menunjukkan runtime yang diinstal.
  -d|--diagnostik memungkinkan output diagnostik.

runtime-options:
  --additionalprobingpath <path> Jalur yang berisi kebijakan probe dan rakitan untuk diselidiki.
  --fx-version <version> versi dari kerangka kerja bersama yang diinstal untuk digunakan untuk menjalankan aplikasi.
  --roll-forward-on-no-candidate-fx "Tidak ada Roll Forward ke Kerangka Kerja Bersama Kandidat" diaktifkan.
  --additional-deps <path> ke jalur ke file deps.json lain.

Alat tambahan ('dotnet [tool-name] --help' untuk informasi lebih lanjut):
  dev-certs Membuat dan mengelola sertifikat pengembangan.
  ef Alat baris perintah Entity Framework Core.
  alat baris perintah cache SQL Server sql-cache.
  user-secrets Kelola rahasia pengguna pengembangan.
  tonton Mulai pengawas file yang menjalankan perintah saat file berubah.

2. Kompilasi dan rilis


Menerbitkan proyek .NET untuk penyebaran (termasuk runtime).
Publikasikan dotnet


C:\project\dotnet\test1>dotnet publish --help
Penggunaan: dotnet publish [opsi]

Opsi:
  -h, --help menampilkan informasi bantuan.
  -o, --output <OUTPUT_DIR> digunakan untuk menempatkan direktori output item yang diterbitkan.
  -f, --framework <FRAMEWORK> Kerangka kerja target yang akan diterbitkan. Kerangka kerja target harus ditentukan dalam dokumen proyek.
  -r, --runtime <RUNTIME_IDENTIFIER> menerbitkan proyek untuk runtime tertentu. Gunakan ini saat membuat penyebaran mandiri. Tindakan defaultnya adalah menerbitkan aplikasi yang bergantung pada kerangka kerja.
  -c, --configuration <CONFIGURATION> digunakan untuk menghasilkan konfigurasi proyek. Nilai default untuk sebagian besar proyek adalah "Debug".
  --version-suffix <VERSION_SUFFIX> mendefinisikan nilai properti $(VersionSuffix) dalam proyek Anda.
  --manifest <manifest.xml> Jalur ke file manifes target yang berisi daftar paket yang akan dijalankan melalui langkah publikasi.
  --no-build jangan membangun proyek sebelum dipublikasikan. Menyiratkan --no-restore.
  --aplikasi pendamping mandiri menerbitkan runtime .NET Core, menghilangkan kebutuhan untuk menginstal runtime pada komputer target. Jika pengidentifikasi runtime ditentukan, defaultnya menjadi "true".
  --no-restore Jangan melakukan pemulihan implisit saat menjalankan perintah.
  -v, --verbosity mengatur tingkat detail perintah. Nilai yang diizinkan adalah Q[UIET], M[inimal], N[Ormal], D[etailed], dan diag[nostic].
  --no-dependencies mengatur bendera ini untuk mengabaikan referensi proyek-ke-proyek dan hanya memulihkan proyek akar.
  --force untuk memaksa semua dependensi untuk diselesaikan, bahkan jika pemulihan terakhir telah berhasil. Ini setara dengan menghapus project.assets.json.
Dari perspektif eksekusi, perintah CLI mengambil parameternya dan membuat panggilan ke MSBuild "asli" untuk mengatur properti yang diinginkan dan target yang diinginkan untuk dijalankan. Untuk mengilustrasikan hal ini dengan lebih baik, lihat perintah berikut:


Perintah ini menerbitkan aplikasi ke folder pub menggunakan konfigurasi Terbitkan. Secara internal, perintah ini diterjemahkan ke panggilan MSBuild berikut:
Tentukan platform target untuk aplikasi Anda


Buat tag di bagian file csproj (yang digunakan untuk menentukan platform target untuk aplikasi Anda), <PropertyGroup> <RuntimeIdentifiers> lalu tentukan pengidentifikasi runtime (RID) untuk setiap platform target. Perhatikan bahwa titik koma juga diperlukan untuk memisahkan RID. Periksa Katalog Pengidentifikasi Runtime untuk daftar pengidentifikasi runtime.
Misalnya, <PropertyGroup> bagian berikut menunjukkan bahwa aplikasi berjalan pada sistem operasi Windows 64-bit 10 dan sistem operasi OS X versi 10.11 64-bit.


Jika kita hanya ingin menghasilkan distribusi di bawah platform win10 x64, kita dapat menjalankan perintah berikut:

Folder output: C:\project\dotnet\test1\bin\release\netcoreapp2.1\win10-x64\publish, seluruh folder memiliki 66M, yang cukup besar, seperti yang ditunjukkan pada gambar di bawah ini:



Hasilkan paket rilis di bawah platform centos.7-x64, ada 70M, yang juga cukup besar, mari kita coba publikasikan di centos 7 untuk mengeksekusinya (.NET Core SDK tidak diinstal pada sistem CentOS 7)。

Informasi sistem adalah sebagai berikut:

[root@master ~]# uname -a
Linux master 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@master ~]# cat /etc/redhat-release
CentOS Linux rilis 7.6.1810 (Inti)
Kami mengunggah file ke direktori temp dan mencoba mengeksekusi file test1, yang dapat dikeluarkan secara normal, sebagai berikut:

[root@master ~]# mkdir temp
[root@master ~]# CD TEMP/
[root@master suhu]# ./uji1
-bash: ./test1: Izin tidak cukup
[root@master temp]# cd ..
[root@master ~]# chmod -R 777 temp/
[root@master ~]# CD TEMP/
[root@master suhu]# ./uji1
Halo dunia!
[root@master temp]# echo "http://www.itsvse.com"
http://www.itsvse.com
[root@master suhu] #


3、. Pengidentifikasi Eksekusi NET Core

.NET Core RID, RID adalah kependekan dari Runtime Identifier. Nilai RID digunakan untuk mengidentifikasi platform target tempat aplikasi berjalan. Paket .NET menggunakannya untuk mewakili aset khusus platform dalam paket NuGet. Nilai-nilai berikut adalah contoh RID: linux-x64, ubuntu.14.04-x64, win7-x64, atau osx.10.12-x64. Untuk paket dengan dependensi asli, RID menentukan platform tempat paket dapat dipulihkan.

<RuntimeIdentifier> Anda dapat mengatur RID di elemen file proyek. Beberapa RID dapat didefinisikan sebagai <RuntimeIdentifiers> daftar (dipisahkan oleh titik koma) dalam elemen file proyek.

RID yang mewakili sistem operasi tertentu biasanya mengikuti pola berikut: [os]. [versi]-[arsitektur]-[kualifikasi tambahan], di mana:
  • [OS] adalah nama sistem operasi/platform sistem. Misalnya, ubuntu.
  • [version] adalah versi OS, yang diformat dengan titik (.) nomor versi. Misalnya, 15.10. Versi tidak boleh berupa rilis pemasaran, karena biasanya mewakili beberapa versi diskrit dari sistem operasi dengan periferal API platform yang berbeda.
  • [arsitektur] adalah arsitektur prosesor. Misalnya: x86, x64, arm, atau arm64.
  • [Kualifikasi tambahan] lebih lanjut membedakan antara platform yang berbeda. Misalnya AOT atau Corert.



Pengenalan khusus:https://docs.microsoft.com/zh-cn/dotnet/core/rid-catalog

4、. NET Core membuat paket NuGet

Untuk .NET Standard dan .NET Core, semua pustaka harus dirilis sebagai paket NuGet. Faktanya, ini adalah cara semua pustaka standar .NET diterbitkan dan digunakan. Ini dapat dengan mudah dicapai menggunakan perintah dotnet pack.



(Akhir)




Mantan:Video Tutorial Ujian Pegawai Negeri Nasional 2019
Depan:Visual Studio 2017 menambahkan MSDN
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com