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