Skip to content

Instantly share code, notes, and snippets.

@jaredpar
Created April 29, 2026 21:40
Show Gist options
  • Select an option

  • Save jaredpar/7322db9098a4f251290e5de3ba7e7601 to your computer and use it in GitHub Desktop.

Select an option

Save jaredpar/7322db9098a4f251290e5de3ba7e7601 to your computer and use it in GitHub Desktop.

net472-only UnitTests Projects — .NET Core/Linux Migration Candidates

Analyzed all 16 net472-only .UnitTests projects in dotnet/roslyn. Excluded 9 with Visual Studio/WPF hard dependencies. 7 candidates remain.

Low Effort (easiest wins)

Project Notes
CodeStyle/CSharp/Tests Pure analyzer testing, no VS/WPF deps. Straightforward.
Features/ExternalAccess/OmniSharpTest Minimal deps — OmniSharp.CSharp targets netstandard2.0. Very clean.
Scripting/CoreTest.Desktop Clean deps despite the name — just compiler + scripting project refs, no Windows-specific references.

Medium Effort

Project Blocker to Address
Compilers/CSharp/WinRT Tests WinRT metadata codegen. No VS deps but need to verify WinRT test reference assemblies work on .NET Core.
Compilers/Core/SdkTaskTests Uses Microsoft.Build (cross-platform) but has GAC references (Microsoft.Build.Engine, System.Xml) that need replacing with PackageReferences.
Scripting/CSharpTest.Desktop Has System.Windows.Forms reference — would need to #if out or remove WinForms-dependent tests.
Interactive/HostTest No VS package deps but deploys InteractiveHost32/64 processes that would need .NET Core host builds.

Excluded — Heavy Visual Studio Dependencies

Project Reason
VisualStudio/CSharp/Test Refs Microsoft.VisualStudio.LanguageServices.*, Cache, LanguageServer.Client
VisualStudio/Core/Test.Next Refs VS.Debugger.Engine, VS.Text.Internal, LanguageServices projects
VisualStudio/ExternalAccess/FSharpTest Refs VS.Text.Internal, EditorFeatures (WPF)
VisualStudio/LiveShare/Test Refs VS.LiveShare.*, VS.Workspace, LanguageServices
VisualStudio/IntegrationTest/.../SourceGeneratorUnitTests Refs VS.Extensibility.Testing.Xunit which pulls VS.SDK
ExpressionEvaluator/CSharp/ExpressionCompiler Refs VS.Debugger.Engine-implementation
ExpressionEvaluator/Core/FunctionResolver Refs VS.Debugger.Engine-implementation

Excluded — EditorFeatures (WPF hard dependency)

Project Reason
EditorFeatures/CSharpTest EditorFeatures.Core has <UseWpf>true</UseWpf>, VS.Text.UI.Wpf, VS.Language.*, etc.
EditorFeatures/Test Same — transitive WPF + VS Editor deps throughout
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment