Necessita da versão de pré-lançamento do .Net Core 3.0
Obrigado @stricq.
O suporte do .NET Core 3.0 é definitivamente um objetivo. Posso começar a trabalhar nisso após o lançamento do RTM, então, se a versão de pré-lançamento for algo de que você se preocupa, ficaria feliz em obter um PR
Qual é o estado atual desse problema?
Um choque leve, estamos migrando nossos projetos WPF para .NET Core, seria ótimo se pudéssemos migrar as bibliotecas Ookii o mais rápido possível.
Instalei a versão existente do framework em um projeto Core 3.1 e tenho um aviso do compilador sobre o pacote ter sido restaurado usando várias versões do framework até 4.8 em vez do Core 3.1 e que pode não ser totalmente compatível com o meu projeto.
No entanto, parece compilar e funcionar bem para o seguinte uso:
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( );
O que acontece se o código Ookii for colado nos arquivos de um novo projeto Core 3.1?
Seria bom implementar a propriedade RootFolder em VistaFolderBrowserDialog.
Usar o assembly .NET Framework em um projeto .NET Core tem duas consequências:
Portanto, em geral, se você aguentar o aviso do compilador, parece bastante seguro usar essa biblioteca em um projeto .NET Core. Ainda espero que possamos obter a versão do .NET Core.
O TaskDialog
não está funcionando no .NET Core 3.1. Mas VistaFolderBrowserDialog
e ProgressDialog
não têm problema.
Abaixo da exceção lançada de TaskDialog.ShowDialog()
.
System.EntryPointNotFoundException
Não foi possível encontrar um ponto de entrada denominado 'TaskDialogIndirect' na DLL 'comctl32.dll'.
Eu também tentei # 7, mas o mesmo resultado.
O sistema operacional é o 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 Eu também tive esse problema. Mas só precisa de um pouco de edição em seu projeto para que a biblioteca possa acessar o TaskDialog
.
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
Remova o comentário.
Isso deve resolver o problema.
O GitHub fechou automaticamente esse problema com a fusão do PR # 7, então estou reabrindo. Estou planejando lançar um pacote de pré-lançamento no próximo fim de semana.
Ookii.Dialogs.Wpf 2.0.0-preview1 foi publicado em nuget.org
Install-Package Ookii.Dialogs.Wpf -Version 2.0.0-preview1
Teste seus aplicativos e relate quaisquer problemas que encontrar.
Obrigado a @ acemod13 por fazer todo o trabalho!
A versão estável com suporte .NET 3.1 foi publicada em nuget.org: Ookii.Dialogs.Wpf 2.0.0
Install-Package Ookii.Dialogs.Wpf -Version 2.0.0
NB: os aplicativos WPF no .NET Core 3.1 precisam declarar um manifesto do aplicativo para usar o Ookii Dialogs. O manifesto foi adicionado automaticamente em aplicativos .NET Framework, mas com .NET Core 3.1 esse não é mais o caso, então há uma pequena etapa extra que o desenvolvedor precisa fazer. Mais detalhes no README deste repo.
Obrigado novamente a @ acemod13 pela contribuição!
/ cc @stricq @cheesi @lklauder @hillin @ haruby511 @vpenades @Agagamand @ NateTheGreat714 @andreasgrosche
Comentários muito úteis
Um choque leve, estamos migrando nossos projetos WPF para .NET Core, seria ótimo se pudéssemos migrar as bibliotecas Ookii o mais rápido possível.