Skip to content

Conversation

@Mohamedabdou22
Copy link
Collaborator

SICVM - .NET Core 8 Migration

Team: GROUP.NET

Enhancement: Platform Modernization

This project migrates the SIC Virtual Machine from .NET Framework 4.7.2 to .NET Core 8, modernizing the entire platform for better performance, cross-platform compatibility, and long-term maintainability.

Individual Contributions

Mohamed Abdou:

  • Migrated project file to .NET 8
  • Updated deprecated Windows Forms APIs (ContextMenu → ContextMenuStrip, MenuItem → ToolStripMenuItem)
  • Removed SOAP serialization (to be replaced with JSON in future)
  • Fixed all 15 compatibility errors
  • 3 commits, 242 additions, 226 deletions

Dylan Trenck:

  • GUI testing and validation
  • User interface verification

Matt Boz:

  • Unit testing
  • Test suite maintenance

Changes Made

  • ✅ Migrated .csproj from .NET Framework 4.7.2 to .NET 8
  • ✅ Updated deprecated Windows Forms APIs
  • ✅ Removed SOAP serialization (commented out for now)
  • ✅ Cleaned up unused imports in SIC_Device.cs
  • ✅ Resolved all build errors (15 → 0)

Technical Details

Before:

  • Platform: .NET Framework 4.7.2 (2018)
  • Build Errors: 15
  • Status: Outdated, Windows-only
  • Menu System: ContextMenu/MenuItem (deprecated)

After:

  • Platform: .NET Core 8 (2024)
  • Build Errors: 0
  • Status: Modern, cross-platform compatible
  • Menu System: ContextMenuStrip/ToolStripMenuItem (current)

Key Technical Changes

// Before (Old API)
ContextMenu ct = new ContextMenu();
MenuItem item = new MenuItem("Text");
ct.MenuItems.Add(item);

// After (New API)
ContextMenuStrip ct = new ContextMenuStrip();
ToolStripMenuItem item = new ToolStripMenuItem("Text");
ct.Items.Add(item);

Testing Status

  • ✅ Project builds with 0 errors
  • ✅ Application launches successfully
  • ✅ All menus functional
  • ⏳ GUI testing in progress (Dylan)
  • ⏳ Unit testing in progress (Matt)

Running the Application

Prerequisites:

Option 1 - Visual Studio:

  1. Open SIC Simulator.sln
  2. Press F5 to run

Option 2 - Command Line:

cd "SIC Simulator"
dotnet run

Benefits of This Migration

  • ✅ Cross-platform compatibility (Windows, Mac, Linux)
  • ✅ Modern API support and latest C# features
  • ✅ Better performance and memory management
  • ✅ Long-term maintainability and support
  • ✅ Active security updates (Framework 4.7.2 is end-of-life)
  • ✅ Future-ready for additional enhancements

Known Issues / Future Work

  • SOAP serialization temporarily disabled (will be replaced with JSON)
  • Unit test project needs .NET 8 compatibility updates (in progress)

Presentation

This migration will be presented to the class on December 3rd, 2025.


@DylanTrenck @matt-boz - Please review and approve when you get a chance! 💪

All commits visible here: https://github.com/ScottPiersall/SICVM/commits/GROUP.NET

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants