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

Melihat: 50975|Jawab: 0

[Sumber] .NET Core merilis masalah jalur file tunggal

[Salin tautan]
Dipaparkan pada 2021-3-28 13:56:32 | | | |
Menggunakan .NET Core 3.1 untuk merilis aplikasi konsol file tunggal, berjalan pada sistem Linux, hal utama yang dilakukan kode program sangat sederhana, yaituBaca output file konfigurasi di direktori program! Namun, ketika Anda menerbitkan satu file untuk dijalankan di Linux, dikatakan bahwa file tersebut tidak ditemukan.

Fitur .NET Core baru merilis file tunggal yang dapat dieksekusi
https://www.itsvse.com/thread-8273-1-1.html

Waspadalah terhadap System.Environment.CurrentDirectory untuk mendapatkan direktori saat ini
https://www.itsvse.com/thread-9464-1-1.html
Kode pengujian:

Outputnya adalah sebagai berikut:

AppDomain.CurrentDomain.SetupInformation.ApplicationBase:/var/tmp/.net/root/ImageWatermark/e5snojro.qyv/
Environment.CurrentDirectory:/root/test
AppDomain.CurrentDomain.BaseDirectory:/var/tmp/.net/root/ImageWatermark/e5snojro.qyv/


Saat menerbitkan aplikasi .NET Core sebagai satu file, menjalankannya pada sistem CentOS, program diekstrak sendiri dan dirilis/var/tmp/.net/root/, dan kemudian memanggil program yang dirilis di direktori, yang juga dapat menjelaskan mengapa program tidak dapat menemukan file konfigurasi.

larutan

Menggunakan System.Environment.CurrentDirectory untuk membaca jalur program, System.Environment.CurrentDirectory memang mendapatkan direktori saat ini, tetapi jika program A memanggil program B dan program B menggunakan System.Environment.CurrentDirectory untuk mendapatkan direktori. Kemudian direktori yang diperoleh dalam program B bukan lagi direktori tempat aplikasi B berada; Ini menjadi direktori tempat A berada.





Mantan:Kesalahan .NET Core Linux: Tidak dapat menemukan paket ICU yang valid yang diinstal...
Depan:Masalah watermarking .NET Core pada gambar Linux
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