需要.Net Core 3.0预发行版本
谢谢@stricq。
.NET Core 3.0支持绝对是一个目标。 不过,我可能会在RTM发行后开始着手这项工作,因此,如果您关心的是预发行版本,那么我很高兴获得PR
这个问题的当前状态是什么?
一个小小的麻烦,我们正在将WPF项目迁移到.NET Core,如果能够尽快迁移Ookii库,那将是很棒的。
我在Core 3.1项目中安装了现有框架版本,并向编译器发出警告,指出已使用4.8之前的各种框架版本(而不是Core 3.1)还原了该软件包,并且该软件包可能与我的项目不完全兼容。
但是,对于以下用法,它似乎可以编译并正常工作:
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( );
如果将Ookii代码粘贴到新的Core 3.1项目的文件中怎么办?
最好在VistaFolderBrowserDialog中实现RootFolder属性。
在.NET Core项目中使用.NET Framework程序集有两个后果:
因此,通常来说,如果您可以忍受编译器警告,则在.NET Core项目中使用此库似乎很安全。 我仍然希望我们可以得到.NET Core版本。
TaskDialog
在.NET Core 3.1中不起作用。 但是VistaFolderBrowserDialog
和ProgressDialog
没问题。
低于TaskDialog.ShowDialog()
引发的异常。
System.EntryPointNotFoundException
在DLL'comctl32.dll'中找不到名为'TaskDialogIndirect'的入口点。
我也尝试过#7,但结果相同。
操作系统为Windows 10 1909。
MainWindow
.ctor中。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我也有这个问题。 但是只需要在项目中进行一点编辑,库就可以访问TaskDialog
。
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
取消注释。
那应该解决问题。
GitHub通过PR#7的合并自动解决了这个问题,所以我要重新开始。 我计划在下个周末发布预发布软件包。
Ookii.Dialogs.Wpf 2.0.0-preview1已发布在nuget.org上
Install-Package Ookii.Dialogs.Wpf -Version 2.0.0-preview1
请在您的应用中进行测试,并报告您发现的所有问题。
感谢@ acemod13完成所有工作!
带有.NET 3.1支持的稳定版本已发布到nuget.org:Ookii.Dialogs.Wpf 2.0.0
Install-Package Ookii.Dialogs.Wpf -Version 2.0.0
注意:.NET Core 3.1上的WPF应用程序需要声明一个应用程序清单才能使用Ookii对话框。 清单是在.NET Framework应用程序中自动添加的,但是对于.NET Core 3.1而言,情况不再如此,因此开发人员需要做一些额外的步骤。 有关此存储库的自述文件的更多详细信息。
再次感谢@ acemod13的贡献!
/ cc @stricq @cheesi @lklauder @hillin @ haruby511 @vpenades @Agagamand @ NateTheGreat714 @andreasgrosche
最有用的评论
一个小小的麻烦,我们正在将WPF项目迁移到.NET Core,如果能够尽快迁移Ookii库,那将是很棒的。