Closed Pogodaanton closed 3 years ago
Thanks for reporting this @Pogodaanton. I can reproduce the error you're seeing and I'll update the documentation with the information below.
The internal error message is
System.EntryPointNotFoundException: 'Unable to find an entry point named 'TaskDialogIndirect' in DLL 'comctl32.dll'.'
To resolve this error, you'll need to add an application manifest to your .NET Core 3.1 WPF App in order to specify that your app has a dependency on comctl32.dll
.
Right click your project in Visual Studio -> Add -> New Item... and select "Application Manifest File (Windows Only)"
That will create a template that you can customize and delete the parts you don't want and/or uncomment the parts that you want. The crucial part is the dependentAssembly
entry with the reference to Microsoft.Windows.Common-Controls
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
Please, let me know if this works for you and if you find any other issue.
Works flawlessly, thanks!
I followed the sample from Ookii.Dialogs.Wpf.Sample for instantiating a TaskDialog in a .NET Core 3.1 Application.
The dialog fails to open and throws the following exception:
Not sure whether it helps but by commenting out line-by-line I could pinpoint the root of the cause to
TaskDialogButton
.