Kentico / xperience-by-kentico-kentico-migration-tool

A customizable tool that migrates older Kentico solutions to the latest version of Xperience by Kentico.
MIT License
6 stars 1 forks source link

Migration Tool only works on Windows, but Xperience is supported on Windows, macOS, and Linux #256

Open seangwright opened 5 hours ago

seangwright commented 5 hours ago

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

  1. In a macOS or linux environment
  2. Follow the setup instructions
  3. Do a dotnet build in the Migration.Toolkit.CLI project
  4. Run the executable in the bin/Debug/net8.0 folder
  5. 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

Additional context

If I comment out the code in EnableVirtualTerminalProcessing then the migration tool works great in macOS.

Screenshots

n/a