Ookii-dialogs-wpf: Perlu .Net Core 3.0 Versi Prarilis

Dibuat pada 26 Jul 2019  ·  10Komentar  ·  Sumber: ookii-dialogs/ookii-dialogs-wpf

Perlu .Net Core 3.0 Versi Prarilis

enhancement help wanted

Komentar yang paling membantu

Sedikit benjolan, kami sedang memigrasi proyek WPF kami ke .NET Core, akan sangat bagus jika kami dapat memigrasi Ookii libs ASAP.

Semua 10 komentar

Terima kasih @qq.

Dukungan .NET Core 3.0 jelas merupakan tujuan. Saya mungkin mulai mengerjakan ini setelah RTM dikirimkan, jadi jika versi pra-rilis adalah sesuatu yang Anda pedulikan, saya akan dengan senang hati mendapatkan PR.

Bagaimana keadaan saat ini tentang masalah ini?

Sedikit benjolan, kami sedang memigrasi proyek WPF kami ke .NET Core, akan sangat bagus jika kami dapat memigrasi Ookii libs ASAP.

Saya menginstal versi kerangka kerja yang ada dalam proyek Core 3.1 dan memiliki peringatan kompiler tentang paket yang telah dipulihkan menggunakan berbagai versi kerangka kerja hingga 4.8 daripada Core 3.1 dan mungkin tidak sepenuhnya kompatibel dengan proyek saya.
Namun, tampaknya dapat dikompilasi dan berfungsi dengan baik untuk penggunaan berikut:

     var dialog = new Ookii.Dialogs.Wpf.VistaFolderBrowserDialog( );
     dialog.Description = "choose folder in which to store scripts for this project";
     dialog.RootFolder = Environment.SpecialFolder.MyComputer;  // not implemented
     dialog.ShowNewFolderButton = true;
     dialog.UseDescriptionForTitle = true;

     bool result = dialog.ShowDialog( this ).GetValueOrDefault( );

Apa yang terjadi jika kode Ookii ditempelkan ke file proyek Core 3.1 baru?
Akan menyenangkan untuk mendapatkan properti RootFolder diimplementasikan di VistaFolderBrowserDialog.

Menggunakan rakitan .NET Framework dalam proyek .NET Core memiliki dua konsekuensi:

  1. Proyek ini hanya akan berjalan di Windows. Karena ini adalah proyek WPF dan API yang mendasari pustaka ini hanya tersedia di Windows, ini bukan masalah;
  2. Jika rakitan .NET Framework menggunakan beberapa API yang tidak ada di .NET Core, pengecualian waktu proses akan dilempar. Karena kami telah menggunakan pustaka ini di proyek .NET Core kami untuk sementara waktu dan tidak ada pengecualian seperti itu yang terjadi, saya rasa ini juga bukan masalah.

Jadi secara umum, jika Anda tahan dengan peringatan compiler, tampaknya cukup aman untuk menggunakan pustaka ini dalam proyek .NET Core. Saya masih berharap kami bisa mendapatkan versi .NET Core.

TaskDialog tidak berfungsi di .NET Core 3.1. Tapi VistaFolderBrowserDialog dan ProgressDialog tidak masalah.

Pengecualian di bawah diberikan dari TaskDialog.ShowDialog() .

System.EntryPointNotFoundException
Tidak dapat menemukan titik masuk bernama 'TaskDialogIndirect' di DLL 'comctl32.dll'.

Saya juga mencoba # 7 tetapi hasil yang sama.

OSnya adalah Windows 10 1909.

Reproduksi

  1. Buat proyek WPF (.NET Core) di Visual Studio 2019.
  2. Tambahkan kode di bawah ini ke .ctor dari MainWindow .
    csharp TaskDialog taskDialog = new TaskDialog() { WindowTitle = "Title", MainIcon = TaskDialogIcon.Information, MainInstruction = "test", Content = "TEST", ExpandedInformation = "detail" }; taskDialog.Buttons.Add(new TaskDialogButton(ButtonType.Ok)); taskDialog.ShowDialog();
  3. Bangun dan Jalankan.

@ haruby511 Saya juga mengalami masalah ini. Tapi itu hanya membutuhkan sedikit pengeditan dalam proyek Anda sehingga perpustakaan dapat mengakses TaskDialog .

  1. Tambahkan app.manifest.
  2. Buka file manifes. Anda akan melihat bagian ini:
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
          type="win32"
          name="Microsoft.Windows.Common-Controls"
          version="6.0.0.0"
          processorArchitecture="*"
          publicKeyToken="6595b64144ccf1df"
          language="*"
        />
    </dependentAssembly>
  </dependency>

Batalkan komentar ini.

  1. Klik kanan pada proyek dan klik properti.
  2. Di tab "Aplikasi", pilih file manifes dari daftar.

Itu seharusnya memperbaiki masalah.

GitHub secara otomatis menutup masalah ini dengan gabungan PR # 7, jadi saya membuka kembali. Saya berencana merilis paket pra-rilis selama akhir pekan mendatang.

Ookii.Dialogs.Wpf 2.0.0-preview1 telah dipublikasikan di nuget.org

Install-Package Ookii.Dialogs.Wpf -Version 2.0.0-preview1

Silakan uji di aplikasi Anda dan laporkan masalah apa pun yang Anda temukan.


Terima kasih kepada @ acemod13 untuk melakukan semua pekerjaan!

Versi stabil dengan dukungan .NET 3.1 telah dipublikasikan ke nuget.org: Ookii.Dialogs.Wpf 2.0.0

Install-Package Ookii.Dialogs.Wpf -Version 2.0.0

NB: Aplikasi WPF di .NET Core 3.1 perlu mendeklarasikan manifes aplikasi untuk menggunakan Ookii Dialogs. Manifes ditambahkan secara otomatis di aplikasi .NET Framework, tetapi dengan .NET Core 3.1 hal ini tidak lagi terjadi, jadi ada sedikit langkah tambahan yang perlu dilakukan pengembang. Detail lebih lanjut tentang README repo ini.


Sekali lagi terima kasih kepada @ acemod13 atas kontribusinya!
/ cc @stricq @cheesi @lklauder @hillin @ haruby511 @vpenades @Agagamand @ NateTheGreat714 @andreasgrosche

Apakah halaman ini membantu?
0 / 5 - 0 peringkat