Saya mencoba menggunakan Serolog dengan Serilog.Sinks.Xamarin (v 0.1.37 ) dan Serilog.Sinks.Elasticsearch (v 8.0.1) di Aplikasi iOS Xamarin Forms. Semua nuget dipasang baik di Proyek Formulir Xamarin maupun di proyek iOS Xamarin.

Ketika saya mencoba membuat Logger (baik dalam kode atau dari konfigurasi) gagal mengatakan bahwa "Tidak dapat menemukan file Serilog.Sinks.Elasticsearch". Jika saya menghapus Serilog.Sinks.Elasticsearch, maka ia mengeluh tentang yang lain.

Saya melakukan sedikit penggalian dan saya dapat melihat bahwa Sink dll disalin di '''\bin\iPhoneSimulator\Debug'''

enter image description here

Tetapi mereka tidak ada di aplikasi saat sedang berjalan di simulator:

enter image description here

Tahu kenapa?

0
RSxx 24 Maret 2020, 09:48

1 menjawab

Jawaban Terbaik

Jika Anda menambahkan Serilog Sinks dan mengonfigurasinya dalam file konfigurasi, lalu buat konfigurasi Serilog dari file itu, lalu buat Serilog logger dari konfigurasi Serilog ==> tidak ada kode langsung di mana pun di Aplikasi yang mereferensikan Sinks dll -> mereka akan dihapus dari Aplikasi. Ini dapat terjadi dengan .dll apa pun yang dimuat secara dinamis saat runtime. Untuk mencegahnya, Anda harus membuat panggilan dummy ke fungsi atau objek apa pun dari dll tersebut. Dengan cara ini ada kode Aplikasi yang memanggil mereka -> mereka tidak akan dihapus.

0
RSxx 26 Maret 2020, 15:46