diff --git a/Analyzer.props b/Analyzer.props
new file mode 100644
index 0000000000..ba04867b64
--- /dev/null
+++ b/Analyzer.props
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Roslyn.props b/Roslyn.props
new file mode 100644
index 0000000000..fc06388c70
--- /dev/null
+++ b/Roslyn.props
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
+
diff --git a/SourceGenerator.props b/SourceGenerator.props
new file mode 100644
index 0000000000..a5b1600416
--- /dev/null
+++ b/SourceGenerator.props
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/TUnit.Analyzers.Roslyn414/TUnit.Analyzers.Roslyn414.csproj b/TUnit.Analyzers.Roslyn414/TUnit.Analyzers.Roslyn414.csproj
new file mode 100644
index 0000000000..88b8220fa7
--- /dev/null
+++ b/TUnit.Analyzers.Roslyn414/TUnit.Analyzers.Roslyn414.csproj
@@ -0,0 +1,9 @@
+
+
+
+ 4.14
+
+
+
+
+
diff --git a/TUnit.Analyzers.Roslyn44/TUnit.Analyzers.Roslyn44.csproj b/TUnit.Analyzers.Roslyn44/TUnit.Analyzers.Roslyn44.csproj
index 4bda774b85..9c5407b008 100644
--- a/TUnit.Analyzers.Roslyn44/TUnit.Analyzers.Roslyn44.csproj
+++ b/TUnit.Analyzers.Roslyn44/TUnit.Analyzers.Roslyn44.csproj
@@ -4,18 +4,6 @@
4.4
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/TUnit.Analyzers.Roslyn47/TUnit.Analyzers.Roslyn47.csproj b/TUnit.Analyzers.Roslyn47/TUnit.Analyzers.Roslyn47.csproj
index 26e6cc0f3e..883378ea5f 100644
--- a/TUnit.Analyzers.Roslyn47/TUnit.Analyzers.Roslyn47.csproj
+++ b/TUnit.Analyzers.Roslyn47/TUnit.Analyzers.Roslyn47.csproj
@@ -4,24 +4,6 @@
4.7
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
+
-
-
-
-
-
-
-
- EqualityComparers
-
-
-
-
+
\ No newline at end of file
diff --git a/TUnit.Analyzers/Migrators/XUnitMigrationAnalyzer.cs b/TUnit.Analyzers/Migrators/XUnitMigrationAnalyzer.cs
index 084b7b7a64..84628404cb 100644
--- a/TUnit.Analyzers/Migrators/XUnitMigrationAnalyzer.cs
+++ b/TUnit.Analyzers/Migrators/XUnitMigrationAnalyzer.cs
@@ -37,7 +37,7 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
return;
}
- if (symbol.AllInterfaces.Any(i => i.ContainingNamespace.Name.StartsWith("Xunit")))
+ if (symbol.AllInterfaces.Any(i => i.ContainingNamespace?.Name.StartsWith("Xunit") is true))
{
Flag(context);
return;
@@ -82,9 +82,9 @@ private void AnalyzeSyntax(SyntaxNodeAnalysisContext context)
ITypeSymbol[] types =
[
- ..members.OfType().Where(x => x.Type.ContainingNamespace.Name.StartsWith("Xunit")).Select(x => x.Type),
- ..members.OfType().Where(x => x.ReturnType.ContainingNamespace.Name.StartsWith("Xunit")).Select(x => x.ReturnType),
- ..members.OfType().Where(x => x.Type.ContainingNamespace.Name.StartsWith("Xunit")).Select(x => x.Type),
+ ..members.OfType().Where(x => x.Type.ContainingNamespace?.Name.StartsWith("Xunit") is true).Select(x => x.Type),
+ ..members.OfType().Where(x => x.ReturnType.ContainingNamespace?.Name.StartsWith("Xunit") is true).Select(x => x.ReturnType),
+ ..members.OfType().Where(x => x.Type.ContainingNamespace?.Name.StartsWith("Xunit") is true).Select(x => x.Type),
];
if (types.Any())
diff --git a/TUnit.Core.SourceGenerator.Roslyn414/TUnit.Core.SourceGenerator.Roslyn414.csproj b/TUnit.Core.SourceGenerator.Roslyn414/TUnit.Core.SourceGenerator.Roslyn414.csproj
new file mode 100644
index 0000000000..1f2708cc24
--- /dev/null
+++ b/TUnit.Core.SourceGenerator.Roslyn414/TUnit.Core.SourceGenerator.Roslyn414.csproj
@@ -0,0 +1,9 @@
+
+
+
+ 4.14
+
+
+
+
+
diff --git a/TUnit.Core.SourceGenerator.Roslyn44/TUnit.Core.SourceGenerator.Roslyn44.csproj b/TUnit.Core.SourceGenerator.Roslyn44/TUnit.Core.SourceGenerator.Roslyn44.csproj
index cbbcc5cd84..a321b8fc20 100644
--- a/TUnit.Core.SourceGenerator.Roslyn44/TUnit.Core.SourceGenerator.Roslyn44.csproj
+++ b/TUnit.Core.SourceGenerator.Roslyn44/TUnit.Core.SourceGenerator.Roslyn44.csproj
@@ -4,17 +4,6 @@
4.4
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
-
+
diff --git a/TUnit.Core.SourceGenerator.Roslyn47/TUnit.Core.SourceGenerator.Roslyn47.csproj b/TUnit.Core.SourceGenerator.Roslyn47/TUnit.Core.SourceGenerator.Roslyn47.csproj
index d130126b4c..5474b65ce3 100644
--- a/TUnit.Core.SourceGenerator.Roslyn47/TUnit.Core.SourceGenerator.Roslyn47.csproj
+++ b/TUnit.Core.SourceGenerator.Roslyn47/TUnit.Core.SourceGenerator.Roslyn47.csproj
@@ -3,24 +3,7 @@
4.7
-
-
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
- CodeGenerators\Helpers\DynamicTestSourceDataModelRetriever.cs
-
-
- Models\DynamicTestSourceDataModel.cs
-
-
+
-
+
\ No newline at end of file
diff --git a/TUnit.Core/TUnit.Core.csproj b/TUnit.Core/TUnit.Core.csproj
index 7312d62fee..b00867f09a 100644
--- a/TUnit.Core/TUnit.Core.csproj
+++ b/TUnit.Core/TUnit.Core.csproj
@@ -32,19 +32,30 @@
+
-
+
+
+
+
+
+
diff --git a/TUnit.sln b/TUnit.sln
index 12c7fe903b..525c539c77 100644
--- a/TUnit.sln
+++ b/TUnit.sln
@@ -129,6 +129,10 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "TestProject", "TUnit.Templa
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "WebApp", "TUnit.Templates\content\TUnit.AspNet.FSharp\WebApp\WebApp.fsproj", "{2B950D9B-C0FB-20E2-05FF-C70F639E9E28}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TUnit.Analyzers.Roslyn414", "TUnit.Analyzers.Roslyn414\TUnit.Analyzers.Roslyn414.csproj", "{C6EEC750-06EE-46E2-9468-0CBD202D1BE9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TUnit.Core.SourceGenerator.Roslyn414", "TUnit.Core.SourceGenerator.Roslyn414\TUnit.Core.SourceGenerator.Roslyn414.csproj", "{9E5E9515-109F-4E01-A307-F3B28CE5F3CB}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -327,6 +331,14 @@ Global
{2B950D9B-C0FB-20E2-05FF-C70F639E9E28}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2B950D9B-C0FB-20E2-05FF-C70F639E9E28}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2B950D9B-C0FB-20E2-05FF-C70F639E9E28}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C6EEC750-06EE-46E2-9468-0CBD202D1BE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C6EEC750-06EE-46E2-9468-0CBD202D1BE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C6EEC750-06EE-46E2-9468-0CBD202D1BE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C6EEC750-06EE-46E2-9468-0CBD202D1BE9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9E5E9515-109F-4E01-A307-F3B28CE5F3CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9E5E9515-109F-4E01-A307-F3B28CE5F3CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9E5E9515-109F-4E01-A307-F3B28CE5F3CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9E5E9515-109F-4E01-A307-F3B28CE5F3CB}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -383,6 +395,8 @@ Global
{98CF3A63-B408-4711-974F-FD894FB905F6} = {23F41068-7C7E-435C-B6AB-4258B6380DC2}
{BCB6A765-B792-6EEB-5E21-8A32872B0DB9} = {98CF3A63-B408-4711-974F-FD894FB905F6}
{2B950D9B-C0FB-20E2-05FF-C70F639E9E28} = {98CF3A63-B408-4711-974F-FD894FB905F6}
+ {C6EEC750-06EE-46E2-9468-0CBD202D1BE9} = {503DA9FA-045D-4910-8AF6-905E6048B1F1}
+ {9E5E9515-109F-4E01-A307-F3B28CE5F3CB} = {6F7B9D8E-4539-42BC-BE0B-E5BE70ED9473}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {109D285A-36B3-4503-BCDF-8E26FB0E2C5B}