legacy .NET migration challenges