Although Kentico Xperience 13 ASPNET Core applications work on windows, linux, and macOS (via .NET 8) and Xperience by Kentico solutions also support the same operating systems, this migration tool is currently Windows-only.
This is because the ConsoleHelper class uses some DLL imports to Windows-only DLLs.
If we need the console output manipulation provided by this class we could use something like Spectre Console instead so this migration tool could be run in non-Windows environments
Repro steps
In a macOS or linux environment
Follow the setup instructions
Do a dotnet build in the Migration.Toolkit.CLI project
Run the executable in the bin/Debug/net8.0 folder
See the following exception
Unhandled exception. System.DllNotFoundException: Unable to load shared library 'kernel32.dll' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable:
Expected behavior
This tool works in all environments supported by Xperience by Kentico
Test environment
Platform/OS: macOS M1
Browser Safari
Version 29.5.2
Additional context
If I comment out the code in EnableVirtualTerminalProcessing then the migration tool works great in macOS.
Brief bug description
Although Kentico Xperience 13 ASPNET Core applications work on windows, linux, and macOS (via .NET 8) and Xperience by Kentico solutions also support the same operating systems, this migration tool is currently Windows-only.
This is because the ConsoleHelper class uses some DLL imports to Windows-only DLLs.
If we need the console output manipulation provided by this class we could use something like Spectre Console instead so this migration tool could be run in non-Windows environments
Repro steps
dotnet build
in theMigration.Toolkit.CLI
projectbin/Debug/net8.0
folderExpected behavior
This tool works in all environments supported by Xperience by Kentico
Test environment
Additional context
If I comment out the code in
EnableVirtualTerminalProcessing
then the migration tool works great in macOS.Screenshots
n/a