Perlu .Net Core 3.0 Versi Prarilis
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:
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.
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();
@ haruby511 Saya juga mengalami masalah ini. Tapi itu hanya membutuhkan sedikit pengeditan dalam proyek Anda sehingga perpustakaan dapat mengakses TaskDialog
.
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
Batalkan komentar ini.
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
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.