From d600eb42cf10f56705688bceb2806386f6179ff1 Mon Sep 17 00:00:00 2001
From: Sid Gawri <sidgawri@microsoft.com>
Date: Fri, 2 May 2025 17:25:02 -0400
Subject: [PATCH 1/8] add new stubs

---
 csharp/ql/test/experimental/CWE-918/options   |  1 +
 .../CookieHttpOnlyFalseSystemWeb/options      |  1 +
 .../ConfigEmpty/options                       |  1 +
 .../ConfigFalse/options                       |  1 +
 .../HttpCookiesTrue/options                   |  1 +
 .../CWE-614/RequireSSLFalseSystemWeb/options  |  1 +
 .../RequireSSLSystemWeb/ConfigEmpty/options   |  1 +
 .../RequireSSLSystemWeb/ConfigFalse/options   |  1 +
 .../RequireSSLSystemWeb/FormsTrue/options     |  1 +
 .../HttpCookiesTrue/options                   |  1 +
 .../Security Features/CWE-020/options         |  1 +
 .../CWE-022/TaintedPath/options               |  1 +
 .../CWE-079/StoredXSS/options                 |  1 +
 .../Security Features/CWE-090/options         |  1 +
 .../CWE-091/XMLInjection/options              |  1 +
 .../Security Features/CWE-094/options         |  1 +
 .../Security Features/CWE-099/options         |  1 +
 .../Security Features/CWE-112/options         |  1 +
 .../CWE-114/AssemblyPathInjection/options     |  1 +
 .../Security Features/CWE-134/options         |  1 +
 .../CWE-201/ExposureInTransmittedData/options |  1 +
 .../Security Features/CWE-209/options         |  1 +
 .../WebConfigOff/options                      |  1 +
 .../WebConfigOffButGlobal/options             |  1 +
 .../WebFormsTests/options                     |  1 +
 .../Security Features/CWE-312/options         |  1 +
 .../Security Features/CWE-352/global/options  |  1 +
 .../Security Features/CWE-352/missing/options |  1 +
 .../Security Features/CWE-359/options         |  1 +
 .../Security Features/CWE-384/options         |  1 +
 .../CodeAddedHeader/options                   |  1 +
 .../MissingXFrameOptions/NoHeader/options     |  1 +
 .../WebConfigAddedHeader/options              |  1 +
 .../CWE-502/UnsafeDeserialization/options     |  1 +
 .../options                                   |  1 +
 .../options                                   |  1 +
 .../CWE-539/PersistentCookie/options          |  1 +
 .../CWE-614/RequireSSL/AddedInCode/options    |  1 +
 .../CWE-639/WebFormsTests/options             |  1 +
 .../Security Features/CWE-643/options         |  1 +
 .../Security Features/CWE-730/ReDoS/options   |  1 +
 .../CWE-730/ReDoSGlobalTimeout/options        |  1 +
 .../CWE-730/RegexInjection/options            |  1 +
 .../Security Features/CWE-807/options         |  1 +
 .../Security Features/CWE-838/options         |  1 +
 .../Telemetry/SupportedExternalApis/options   |  1 +
 .../Telemetry/SupportedExternalSinks/options  |  1 +
 csharp/ql/test/resources/stubs/System.Net.cs  | 16 +++++
 csharp/ql/test/resources/stubs/System.Web.cs  | 59 ++++++++++++++++++-
 49 files changed, 121 insertions(+), 1 deletion(-)

diff --git a/csharp/ql/test/experimental/CWE-918/options b/csharp/ql/test/experimental/CWE-918/options
index 09b08bf4d270..914a0be40c93 100644
--- a/csharp/ql/test/experimental/CWE-918/options
+++ b/csharp/ql/test/experimental/CWE-918/options
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../resources/stubs/System.Web.cs
\ No newline at end of file
diff --git a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieHttpOnlyFalseSystemWeb/options b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieHttpOnlyFalseSystemWeb/options
index 9290f65d5b22..daca5d73f552 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieHttpOnlyFalseSystemWeb/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieHttpOnlyFalseSystemWeb/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigEmpty/options b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigEmpty/options
index 9d05f9bf06d4..dbb615bf06c0 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigEmpty/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigEmpty/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigFalse/options b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigFalse/options
index 9d05f9bf06d4..dbb615bf06c0 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigFalse/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigFalse/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/HttpCookiesTrue/options b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/HttpCookiesTrue/options
index 9d05f9bf06d4..dbb615bf06c0 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/HttpCookiesTrue/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/HttpCookiesTrue/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLFalseSystemWeb/options b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLFalseSystemWeb/options
index 9290f65d5b22..daca5d73f552 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLFalseSystemWeb/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLFalseSystemWeb/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigEmpty/options b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigEmpty/options
index 9d05f9bf06d4..dbb615bf06c0 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigEmpty/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigEmpty/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigFalse/options b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigFalse/options
index 9d05f9bf06d4..dbb615bf06c0 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigFalse/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigFalse/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/FormsTrue/options b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/FormsTrue/options
index 9d05f9bf06d4..dbb615bf06c0 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/FormsTrue/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/FormsTrue/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/HttpCookiesTrue/options b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/HttpCookiesTrue/options
index 9d05f9bf06d4..dbb615bf06c0 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/HttpCookiesTrue/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/HttpCookiesTrue/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-020/options b/csharp/ql/test/query-tests/Security Features/CWE-020/options
index 96b0b028bdd2..0ce0c6870b7c 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-020/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-020/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/options b/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/options
index 9290f65d5b22..daca5d73f552 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-079/StoredXSS/options b/csharp/ql/test/query-tests/Security Features/CWE-079/StoredXSS/options
index c5b4a9586554..ebbb04324897 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-079/StoredXSS/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-079/StoredXSS/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-090/options b/csharp/ql/test/query-tests/Security Features/CWE-090/options
index 20a0480c8e2f..ba17ecb5638c 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-090/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-090/options	
@@ -1,4 +1,5 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.DirectoryServices.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-091/XMLInjection/options b/csharp/ql/test/query-tests/Security Features/CWE-091/XMLInjection/options
index 9290f65d5b22..daca5d73f552 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-091/XMLInjection/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-091/XMLInjection/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-094/options b/csharp/ql/test/query-tests/Security Features/CWE-094/options
index cce2f114af69..ce5d6db635af 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-094/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-094/options	
@@ -1,5 +1,6 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Windows.cs
 semmle-extractor-options: ${testdir}/../../../resources/stubs/Microsoft.CSharp.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-099/options b/csharp/ql/test/query-tests/Security Features/CWE-099/options
index 7404a7573b27..595b1a2bac00 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-099/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-099/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-112/options b/csharp/ql/test/query-tests/Security Features/CWE-112/options
index 96b0b028bdd2..0ce0c6870b7c 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-112/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-112/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-114/AssemblyPathInjection/options b/csharp/ql/test/query-tests/Security Features/CWE-114/AssemblyPathInjection/options
index 9290f65d5b22..daca5d73f552 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-114/AssemblyPathInjection/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-114/AssemblyPathInjection/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-134/options b/csharp/ql/test/query-tests/Security Features/CWE-134/options
index ab08ee323e2b..aff430e13cc9 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-134/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-134/options	
@@ -1,4 +1,5 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Windows.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-201/ExposureInTransmittedData/options b/csharp/ql/test/query-tests/Security Features/CWE-201/ExposureInTransmittedData/options
index c5b4a9586554..ebbb04324897 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-201/ExposureInTransmittedData/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-201/ExposureInTransmittedData/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-209/options b/csharp/ql/test/query-tests/Security Features/CWE-209/options
index 96b0b028bdd2..0ce0c6870b7c 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-209/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-209/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOff/options b/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOff/options
index 9d05f9bf06d4..dbb615bf06c0 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOff/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOff/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOffButGlobal/options b/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOffButGlobal/options
index 9d05f9bf06d4..dbb615bf06c0 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOffButGlobal/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOffButGlobal/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-285/MissingAccessControl/WebFormsTests/options b/csharp/ql/test/query-tests/Security Features/CWE-285/MissingAccessControl/WebFormsTests/options
index fb93d69d6b43..d43edf41c562 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-285/MissingAccessControl/WebFormsTests/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-285/MissingAccessControl/WebFormsTests/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
\ No newline at end of file
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-312/options b/csharp/ql/test/query-tests/Security Features/CWE-312/options
index ab08ee323e2b..aff430e13cc9 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-312/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-312/options	
@@ -1,4 +1,5 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Windows.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-352/global/options b/csharp/ql/test/query-tests/Security Features/CWE-352/global/options
index 9290f65d5b22..daca5d73f552 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-352/global/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-352/global/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-352/missing/options b/csharp/ql/test/query-tests/Security Features/CWE-352/missing/options
index 9290f65d5b22..daca5d73f552 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-352/missing/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-352/missing/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-359/options b/csharp/ql/test/query-tests/Security Features/CWE-359/options
index ab08ee323e2b..aff430e13cc9 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-359/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-359/options	
@@ -1,4 +1,5 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Windows.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-384/options b/csharp/ql/test/query-tests/Security Features/CWE-384/options
index 96b0b028bdd2..0ce0c6870b7c 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-384/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-384/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/CodeAddedHeader/options b/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/CodeAddedHeader/options
index 9d05f9bf06d4..dbb615bf06c0 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/CodeAddedHeader/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/CodeAddedHeader/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/NoHeader/options b/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/NoHeader/options
index 9d05f9bf06d4..dbb615bf06c0 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/NoHeader/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/NoHeader/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/WebConfigAddedHeader/options b/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/WebConfigAddedHeader/options
index 9d05f9bf06d4..dbb615bf06c0 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/WebConfigAddedHeader/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/WebConfigAddedHeader/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/options b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/options
index 9290f65d5b22..daca5d73f552 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/options b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/options
index 9290f65d5b22..daca5d73f552 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/options b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/options
index 750b4e671894..62b643d45cbf 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/Newtonsoft.Json/13.0.3/Newtonsoft.Json.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-539/PersistentCookie/options b/csharp/ql/test/query-tests/Security Features/CWE-539/PersistentCookie/options
index 9290f65d5b22..daca5d73f552 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-539/PersistentCookie/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-539/PersistentCookie/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-614/RequireSSL/AddedInCode/options b/csharp/ql/test/query-tests/Security Features/CWE-614/RequireSSL/AddedInCode/options
index 9d05f9bf06d4..dbb615bf06c0 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-614/RequireSSL/AddedInCode/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-614/RequireSSL/AddedInCode/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-639/WebFormsTests/options b/csharp/ql/test/query-tests/Security Features/CWE-639/WebFormsTests/options
index a5d7077ef37a..1fcc7e1cf48f 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-639/WebFormsTests/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-639/WebFormsTests/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
\ No newline at end of file
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-643/options b/csharp/ql/test/query-tests/Security Features/CWE-643/options
index 7404a7573b27..595b1a2bac00 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-643/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-643/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoS/options b/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoS/options
index 9290f65d5b22..daca5d73f552 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoS/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoS/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoSGlobalTimeout/options b/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoSGlobalTimeout/options
index 9290f65d5b22..daca5d73f552 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoSGlobalTimeout/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoSGlobalTimeout/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-730/RegexInjection/options b/csharp/ql/test/query-tests/Security Features/CWE-730/RegexInjection/options
index 9290f65d5b22..daca5d73f552 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-730/RegexInjection/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-730/RegexInjection/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-807/options b/csharp/ql/test/query-tests/Security Features/CWE-807/options
index 96b0b028bdd2..0ce0c6870b7c 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-807/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-807/options	
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-838/options b/csharp/ql/test/query-tests/Security Features/CWE-838/options
index 5e2b8b8284e2..0af895004012 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-838/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-838/options	
@@ -1,4 +1,5 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs ${testdir}/../../../resources/stubs/System.Windows.cs
diff --git a/csharp/ql/test/query-tests/Telemetry/SupportedExternalApis/options b/csharp/ql/test/query-tests/Telemetry/SupportedExternalApis/options
index 96b0b028bdd2..0ce0c6870b7c 100644
--- a/csharp/ql/test/query-tests/Telemetry/SupportedExternalApis/options
+++ b/csharp/ql/test/query-tests/Telemetry/SupportedExternalApis/options
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Telemetry/SupportedExternalSinks/options b/csharp/ql/test/query-tests/Telemetry/SupportedExternalSinks/options
index 96b0b028bdd2..0ce0c6870b7c 100644
--- a/csharp/ql/test/query-tests/Telemetry/SupportedExternalSinks/options
+++ b/csharp/ql/test/query-tests/Telemetry/SupportedExternalSinks/options
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/resources/stubs/System.Net.cs b/csharp/ql/test/resources/stubs/System.Net.cs
index 939c70c792e8..d0f03f3af553 100644
--- a/csharp/ql/test/resources/stubs/System.Net.cs
+++ b/csharp/ql/test/resources/stubs/System.Net.cs
@@ -49,6 +49,22 @@ public class StringContent
     {
         public StringContent(string s) { }
     }
+
+    public class HttpResponseMessage : IDisposable
+    {
+        public HttpResponseMessage() { }
+        public HttpResponseMessage(HttpStatusCode statusCode) { }
+
+
+        public Version Version { get; set; }
+        public HttpContent Content { get; set; }
+        public HttpStatusCode StatusCode { get; set; }
+        public HttpResponseHeaders Headers { get; }
+        public HttpRequestMessage RequestMessage { get; set; }
+        public bool IsSuccessStatusCode { get; }
+    }
+
+
 }
 
 namespace System.Net.Mail
diff --git a/csharp/ql/test/resources/stubs/System.Web.cs b/csharp/ql/test/resources/stubs/System.Web.cs
index d1942c07dc1d..56f51208e540 100644
--- a/csharp/ql/test/resources/stubs/System.Web.cs
+++ b/csharp/ql/test/resources/stubs/System.Web.cs
@@ -19,6 +19,15 @@ public class HttpRequestBase
     public class HttpResponseBase
     {
         public void Write(object obj) { }
+        public virtual void AppendHeader(string name, string value) { }
+        public virtual void Redirect(string url) { }
+        public virtual void RedirectPermanent(string url) { }
+        public virtual int StatusCode { get; set; }
+        public virtual void AddHeader(string name, string value) { }
+        public virtual void End() { }
+        public virtual string RedirectLocation { get; set; }
+        public virtual NameValueCollection Headers => null;
+
     }
 
     public class HttpContextBase
@@ -55,7 +64,15 @@ namespace System.Web.Http
 {
     public class ApiController
     {
+        public Microsoft.AspNetCore.Http.HttpContext Context => null;
+        public virtual Microsoft.AspNetCore.Mvc.RedirectResult Redirect(Uri location) => null;
+        public virtual Microsoft.AspNetCore.Mvc.RedirectResult Redirect(string location) => null;
+        public virtual ResponseMessageResult ResponseMessage(System.Net.Http.HttpResponseMessage response) => null;
+        public virtual Microsoft.AspNetCore.Mvc.RedirectToRouteResult RedirectToRoute(string routeName, object routeValues) => null;
+        public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; set; }
     }
+
+    public class ResponseMessageResult { }
 }
 
 namespace System.Web.Mvc
@@ -63,14 +80,35 @@ namespace System.Web.Mvc
     public class Controller
     {
         public ViewResult View() => null;
+        public HttpRequestBase Request => null;
+        public HttpResponseBase Response => null;
+        protected internal virtual RedirectResult RedirectPermanent(string url) => null;
+        protected internal RedirectToRouteResult RedirectToRoute(string routeName) => null;
+        public UrlHelper Url { get; set; }
+        protected internal virtual RedirectResult Redirect(string url) => null;
     }
 
     public class MvcHtmlString : HtmlString
     {
         public MvcHtmlString(string s) : base(s) { }
     }
+
+    public class RoutePrefixAttribute : Attribute
+    {
+        public virtual string Prefix { get; private set; }
+        public RoutePrefixAttribute(string prefix) { }
+    }
+
+    public sealed class RouteAttribute : Attribute
+    {
+
+        public RouteAttribute(string template) { }
+    }
+
+    public class RedirectToRouteResult : ActionResult { }
 }
 
+
 namespace System.Web.UI
 {
     public class Control
@@ -81,6 +119,7 @@ public class Page
     {
         public System.Security.Principal.IPrincipal User { get; }
         public System.Web.HttpRequest Request { get; }
+        public HttpResponse Response => null;
     }
 
     interface IPostBackDataHandler
@@ -153,6 +192,7 @@ public class HttpRequest
         public UnvalidatedRequestValues Unvalidated { get; }
         public string RawUrl { get; set; }
         public HttpCookieCollection Cookies => null;
+        public bool IsAuthenticated { get; set; }
     }
 
     public class HttpRequestWrapper : System.Web.HttpRequestBase
@@ -169,6 +209,13 @@ public void WriteFile(string s) { }
         public void AddHeader(string name, string value) { }
         public void Redirect(string url) { }
         public void AppendHeader(string name, string value) { }
+        public void End() { }
+        public string RedirectLocation { get; set; }
+        public int StatusCode { get; set; }
+        public void RedirectPermanent(string url) { }
+        public virtual NameValueCollection Headers { get; set; }
+
+
     }
 
     public class HttpContext : IServiceProvider
@@ -177,6 +224,7 @@ public class HttpContext : IServiceProvider
         public HttpResponse Response => null;
         public SessionState.HttpSessionState Session => null;
         public HttpServerUtility Server => null;
+        public static HttpContext Current => null;
     }
 
     public class HttpCookie
@@ -301,6 +349,15 @@ public class UrlHelper
         public UrlHelper(Routing.RequestContext requestContext) { }
         public virtual bool IsLocalUrl(string url) => false;
     }
+
+    public class RedirectResult : ActionResult
+    {
+        public bool Permanent { get; set; }
+        public string Url => null;
+
+        public RedirectResult(string url) : this(url, permanent: false) { }
+        public RedirectResult(string url, bool permanent) { }
+    }
 }
 
 namespace System.Web.Routing
@@ -390,7 +447,7 @@ public class JavaScriptSerializer
         public JavaScriptSerializer() => throw null;
         public JavaScriptSerializer(System.Web.Script.Serialization.JavaScriptTypeResolver resolver) => throw null;
         public object DeserializeObject(string input) => throw null;
-        public T Deserialize<T> (string input) => throw null;
+        public T Deserialize<T>(string input) => throw null;
         public object Deserialize(string input, Type targetType) => throw null;
     }
 

From 7231f53b6ee98780cd6626ab5a3e6855e8767d93 Mon Sep 17 00:00:00 2001
From: Sid Gawri <sidgawri@microsoft.com>
Date: Mon, 5 May 2025 21:59:37 -0400
Subject: [PATCH 2/8] revert system.net stubs

---
 csharp/ql/test/resources/stubs/System.Net.cs | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/csharp/ql/test/resources/stubs/System.Net.cs b/csharp/ql/test/resources/stubs/System.Net.cs
index d0f03f3af553..49ad43b1d394 100644
--- a/csharp/ql/test/resources/stubs/System.Net.cs
+++ b/csharp/ql/test/resources/stubs/System.Net.cs
@@ -50,21 +50,6 @@ public class StringContent
         public StringContent(string s) { }
     }
 
-    public class HttpResponseMessage : IDisposable
-    {
-        public HttpResponseMessage() { }
-        public HttpResponseMessage(HttpStatusCode statusCode) { }
-
-
-        public Version Version { get; set; }
-        public HttpContent Content { get; set; }
-        public HttpStatusCode StatusCode { get; set; }
-        public HttpResponseHeaders Headers { get; }
-        public HttpRequestMessage RequestMessage { get; set; }
-        public bool IsSuccessStatusCode { get; }
-    }
-
-
 }
 
 namespace System.Net.Mail

From 4e3ac93f70b19c7a7f96e6ea7f124a0642e0b44d Mon Sep 17 00:00:00 2001
From: Sid Gawri <sidgawri@microsoft.com>
Date: Fri, 9 May 2025 16:24:42 -0400
Subject: [PATCH 3/8] fix unit tests part 2

---
 csharp/ql/test/library-tests/asp/basic/options               | 4 ++++
 .../test/library-tests/dataflow/flowsources/remote/options   | 3 ++-
 csharp/ql/test/library-tests/dataflow/global/options         | 3 ++-
 csharp/ql/test/query-tests/Security Features/CWE-611/options | 5 ++++-
 csharp/ql/test/utils/modelgenerator/dataflow/options         | 3 ++-
 5 files changed, 14 insertions(+), 4 deletions(-)
 create mode 100644 csharp/ql/test/library-tests/asp/basic/options

diff --git a/csharp/ql/test/library-tests/asp/basic/options b/csharp/ql/test/library-tests/asp/basic/options
new file mode 100644
index 000000000000..8b0f1661e630
--- /dev/null
+++ b/csharp/ql/test/library-tests/asp/basic/options
@@ -0,0 +1,4 @@
+semmle-extractor-options: /nostdlib /noconfig
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
+semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
\ No newline at end of file
diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/remote/options b/csharp/ql/test/library-tests/dataflow/flowsources/remote/options
index 9290f65d5b22..1fcc7e1cf48f 100644
--- a/csharp/ql/test/library-tests/dataflow/flowsources/remote/options
+++ b/csharp/ql/test/library-tests/dataflow/flowsources/remote/options
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
+semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
\ No newline at end of file
diff --git a/csharp/ql/test/library-tests/dataflow/global/options b/csharp/ql/test/library-tests/dataflow/global/options
index a2859a6265b1..8b0f1661e630 100644
--- a/csharp/ql/test/library-tests/dataflow/global/options
+++ b/csharp/ql/test/library-tests/dataflow/global/options
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/Newtonsoft.Json/13.0.3/Newtonsoft.Json.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
\ No newline at end of file
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-611/options b/csharp/ql/test/query-tests/Security Features/CWE-611/options
index d449cb3057f0..8b0f1661e630 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-611/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-611/options	
@@ -1 +1,4 @@
-semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs /r:System.Collections.Specialized.dll /r:System.Xml.ReaderWriter.dll /r:System.Private.Xml.dll /r:System.Runtime.Extensions.dll
+semmle-extractor-options: /nostdlib /noconfig
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
+semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
\ No newline at end of file
diff --git a/csharp/ql/test/utils/modelgenerator/dataflow/options b/csharp/ql/test/utils/modelgenerator/dataflow/options
index 96b0b028bdd2..8b0f1661e630 100644
--- a/csharp/ql/test/utils/modelgenerator/dataflow/options
+++ b/csharp/ql/test/utils/modelgenerator/dataflow/options
@@ -1,3 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
+semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
+semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
\ No newline at end of file

From ffd6b2677c5a6af5af06da8eca02c3ac4371f6fb Mon Sep 17 00:00:00 2001
From: Michael Nebel <michaelnebel@github.com>
Date: Mon, 12 May 2025 11:09:34 +0200
Subject: [PATCH 4/8] C#: Cleanup test options files.

---
 csharp/ql/test/experimental/CWE-918/options                   | 3 +--
 .../CWE-1004/CookieHttpOnlyFalseSystemWeb/options             | 1 -
 .../CookieWithoutHttpOnlySystemWeb/ConfigEmpty/options        | 1 -
 .../CookieWithoutHttpOnlySystemWeb/ConfigFalse/options        | 1 -
 .../CookieWithoutHttpOnlySystemWeb/HttpCookiesTrue/options    | 1 -
 .../CWE-614/RequireSSLFalseSystemWeb/options                  | 1 -
 .../CWE-614/RequireSSLSystemWeb/ConfigEmpty/options           | 1 -
 .../CWE-614/RequireSSLSystemWeb/ConfigFalse/options           | 1 -
 .../CWE-614/RequireSSLSystemWeb/FormsTrue/options             | 1 -
 .../CWE-614/RequireSSLSystemWeb/HttpCookiesTrue/options       | 1 -
 .../ql/test/library-tests/dataflow/flowsources/remote/options | 4 ++--
 csharp/ql/test/library-tests/dataflow/global/options          | 3 +--
 csharp/ql/test/query-tests/Security Features/CWE-020/options  | 1 -
 .../query-tests/Security Features/CWE-022/TaintedPath/options | 1 -
 .../query-tests/Security Features/CWE-079/StoredXSS/options   | 1 -
 csharp/ql/test/query-tests/Security Features/CWE-090/options  | 1 -
 .../Security Features/CWE-091/XMLInjection/options            | 1 -
 csharp/ql/test/query-tests/Security Features/CWE-094/options  | 1 -
 csharp/ql/test/query-tests/Security Features/CWE-099/options  | 1 -
 csharp/ql/test/query-tests/Security Features/CWE-112/options  | 1 -
 .../Security Features/CWE-114/AssemblyPathInjection/options   | 1 -
 csharp/ql/test/query-tests/Security Features/CWE-117/options  | 1 -
 csharp/ql/test/query-tests/Security Features/CWE-134/options  | 1 -
 .../CWE-201/ExposureInTransmittedData/options                 | 1 -
 csharp/ql/test/query-tests/Security Features/CWE-209/options  | 1 -
 .../MissingASPNETGlobalErrorHandler/WebConfigOff/options      | 1 -
 .../WebConfigOffButGlobal/options                             | 1 -
 .../CWE-285/MissingAccessControl/WebFormsTests/options        | 3 +--
 csharp/ql/test/query-tests/Security Features/CWE-312/options  | 1 -
 .../test/query-tests/Security Features/CWE-352/global/options | 1 -
 .../query-tests/Security Features/CWE-352/missing/options     | 1 -
 csharp/ql/test/query-tests/Security Features/CWE-359/options  | 1 -
 csharp/ql/test/query-tests/Security Features/CWE-384/options  | 1 -
 .../CWE-451/MissingXFrameOptions/CodeAddedHeader/options      | 1 -
 .../CWE-451/MissingXFrameOptions/NoHeader/options             | 1 -
 .../CWE-451/MissingXFrameOptions/WebConfigAddedHeader/options | 1 -
 .../Security Features/CWE-502/UnsafeDeserialization/options   | 1 -
 .../CWE-502/UnsafeDeserializationUntrustedInput/options       | 1 -
 .../UnsafeDeserializationUntrustedInputNewtonsoftJson/options | 1 -
 .../Security Features/CWE-539/PersistentCookie/options        | 1 -
 .../query-tests/Security Features/CWE-601/UrlRedirect/options | 1 -
 .../Security Features/CWE-614/RequireSSL/AddedInCode/options  | 1 -
 .../Security Features/CWE-639/WebFormsTests/options           | 3 +--
 csharp/ql/test/query-tests/Security Features/CWE-643/options  | 1 -
 .../test/query-tests/Security Features/CWE-730/ReDoS/options  | 1 -
 .../Security Features/CWE-730/ReDoSGlobalTimeout/options      | 1 -
 .../Security Features/CWE-730/RegexInjection/options          | 1 -
 csharp/ql/test/query-tests/Security Features/CWE-807/options  | 1 -
 csharp/ql/test/query-tests/Security Features/CWE-838/options  | 1 -
 .../test/query-tests/Telemetry/SupportedExternalApis/options  | 1 -
 .../test/query-tests/Telemetry/SupportedExternalSinks/options | 1 -
 csharp/ql/test/utils/modelgenerator/dataflow/options          | 3 +--
 52 files changed, 7 insertions(+), 58 deletions(-)

diff --git a/csharp/ql/test/experimental/CWE-918/options b/csharp/ql/test/experimental/CWE-918/options
index 914a0be40c93..f81b977ac98d 100644
--- a/csharp/ql/test/experimental/CWE-918/options
+++ b/csharp/ql/test/experimental/CWE-918/options
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
-semmle-extractor-options: ${testdir}/../../resources/stubs/System.Web.cs
\ No newline at end of file
+semmle-extractor-options: ${testdir}/../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieHttpOnlyFalseSystemWeb/options b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieHttpOnlyFalseSystemWeb/options
index daca5d73f552..9290f65d5b22 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieHttpOnlyFalseSystemWeb/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieHttpOnlyFalseSystemWeb/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigEmpty/options b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigEmpty/options
index dbb615bf06c0..9d05f9bf06d4 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigEmpty/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigEmpty/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigFalse/options b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigFalse/options
index dbb615bf06c0..9d05f9bf06d4 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigFalse/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/ConfigFalse/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/HttpCookiesTrue/options b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/HttpCookiesTrue/options
index dbb615bf06c0..9d05f9bf06d4 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/HttpCookiesTrue/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-1004/CookieWithoutHttpOnlySystemWeb/HttpCookiesTrue/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLFalseSystemWeb/options b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLFalseSystemWeb/options
index daca5d73f552..9290f65d5b22 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLFalseSystemWeb/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLFalseSystemWeb/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigEmpty/options b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigEmpty/options
index dbb615bf06c0..9d05f9bf06d4 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigEmpty/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigEmpty/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigFalse/options b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigFalse/options
index dbb615bf06c0..9d05f9bf06d4 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigFalse/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/ConfigFalse/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/FormsTrue/options b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/FormsTrue/options
index dbb615bf06c0..9d05f9bf06d4 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/FormsTrue/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/FormsTrue/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/HttpCookiesTrue/options b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/HttpCookiesTrue/options
index dbb615bf06c0..9d05f9bf06d4 100644
--- a/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/HttpCookiesTrue/options	
+++ b/csharp/ql/test/experimental/Security Features/CWE-614/RequireSSLSystemWeb/HttpCookiesTrue/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/remote/options b/csharp/ql/test/library-tests/dataflow/flowsources/remote/options
index 1fcc7e1cf48f..63ce15b2b4f4 100644
--- a/csharp/ql/test/library-tests/dataflow/flowsources/remote/options
+++ b/csharp/ql/test/library-tests/dataflow/flowsources/remote/options
@@ -1,4 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
-semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
\ No newline at end of file
+semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
+semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.Http.cs
diff --git a/csharp/ql/test/library-tests/dataflow/global/options b/csharp/ql/test/library-tests/dataflow/global/options
index 8b0f1661e630..96b0b028bdd2 100644
--- a/csharp/ql/test/library-tests/dataflow/global/options
+++ b/csharp/ql/test/library-tests/dataflow/global/options
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
-semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
\ No newline at end of file
+semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-020/options b/csharp/ql/test/query-tests/Security Features/CWE-020/options
index 0ce0c6870b7c..96b0b028bdd2 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-020/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-020/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/options b/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/options
index daca5d73f552..9290f65d5b22 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-022/TaintedPath/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-079/StoredXSS/options b/csharp/ql/test/query-tests/Security Features/CWE-079/StoredXSS/options
index ebbb04324897..c5b4a9586554 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-079/StoredXSS/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-079/StoredXSS/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-090/options b/csharp/ql/test/query-tests/Security Features/CWE-090/options
index ba17ecb5638c..20a0480c8e2f 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-090/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-090/options	
@@ -1,5 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.DirectoryServices.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-091/XMLInjection/options b/csharp/ql/test/query-tests/Security Features/CWE-091/XMLInjection/options
index daca5d73f552..9290f65d5b22 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-091/XMLInjection/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-091/XMLInjection/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-094/options b/csharp/ql/test/query-tests/Security Features/CWE-094/options
index ce5d6db635af..cce2f114af69 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-094/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-094/options	
@@ -1,6 +1,5 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Windows.cs
 semmle-extractor-options: ${testdir}/../../../resources/stubs/Microsoft.CSharp.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-099/options b/csharp/ql/test/query-tests/Security Features/CWE-099/options
index 595b1a2bac00..7404a7573b27 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-099/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-099/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-112/options b/csharp/ql/test/query-tests/Security Features/CWE-112/options
index 0ce0c6870b7c..96b0b028bdd2 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-112/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-112/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-114/AssemblyPathInjection/options b/csharp/ql/test/query-tests/Security Features/CWE-114/AssemblyPathInjection/options
index daca5d73f552..9290f65d5b22 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-114/AssemblyPathInjection/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-114/AssemblyPathInjection/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-117/options b/csharp/ql/test/query-tests/Security Features/CWE-117/options
index cffffd064100..5dfd0afb374f 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-117/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-117/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
 semmle-extractor-options: --load-sources-from-project:../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-134/options b/csharp/ql/test/query-tests/Security Features/CWE-134/options
index aff430e13cc9..ab08ee323e2b 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-134/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-134/options	
@@ -1,5 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Windows.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-201/ExposureInTransmittedData/options b/csharp/ql/test/query-tests/Security Features/CWE-201/ExposureInTransmittedData/options
index ebbb04324897..c5b4a9586554 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-201/ExposureInTransmittedData/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-201/ExposureInTransmittedData/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-209/options b/csharp/ql/test/query-tests/Security Features/CWE-209/options
index 0ce0c6870b7c..96b0b028bdd2 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-209/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-209/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOff/options b/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOff/options
index dbb615bf06c0..9d05f9bf06d4 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOff/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOff/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOffButGlobal/options b/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOffButGlobal/options
index dbb615bf06c0..9d05f9bf06d4 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOffButGlobal/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-248/MissingASPNETGlobalErrorHandler/WebConfigOffButGlobal/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-285/MissingAccessControl/WebFormsTests/options b/csharp/ql/test/query-tests/Security Features/CWE-285/MissingAccessControl/WebFormsTests/options
index d43edf41c562..9d05f9bf06d4 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-285/MissingAccessControl/WebFormsTests/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-285/MissingAccessControl/WebFormsTests/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
-semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
\ No newline at end of file
+semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-312/options b/csharp/ql/test/query-tests/Security Features/CWE-312/options
index aff430e13cc9..ab08ee323e2b 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-312/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-312/options	
@@ -1,5 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Windows.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-352/global/options b/csharp/ql/test/query-tests/Security Features/CWE-352/global/options
index daca5d73f552..9290f65d5b22 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-352/global/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-352/global/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-352/missing/options b/csharp/ql/test/query-tests/Security Features/CWE-352/missing/options
index daca5d73f552..9290f65d5b22 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-352/missing/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-352/missing/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-359/options b/csharp/ql/test/query-tests/Security Features/CWE-359/options
index aff430e13cc9..ab08ee323e2b 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-359/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-359/options	
@@ -1,5 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Windows.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-384/options b/csharp/ql/test/query-tests/Security Features/CWE-384/options
index 0ce0c6870b7c..96b0b028bdd2 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-384/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-384/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/CodeAddedHeader/options b/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/CodeAddedHeader/options
index dbb615bf06c0..9d05f9bf06d4 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/CodeAddedHeader/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/CodeAddedHeader/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/NoHeader/options b/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/NoHeader/options
index dbb615bf06c0..9d05f9bf06d4 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/NoHeader/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/NoHeader/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/WebConfigAddedHeader/options b/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/WebConfigAddedHeader/options
index dbb615bf06c0..9d05f9bf06d4 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/WebConfigAddedHeader/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-451/MissingXFrameOptions/WebConfigAddedHeader/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/options b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/options
index daca5d73f552..9290f65d5b22 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserialization/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/options b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/options
index daca5d73f552..9290f65d5b22 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInput/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/options b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/options
index 62b643d45cbf..750b4e671894 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-502/UnsafeDeserializationUntrustedInputNewtonsoftJson/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/Newtonsoft.Json/13.0.3/Newtonsoft.Json.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-539/PersistentCookie/options b/csharp/ql/test/query-tests/Security Features/CWE-539/PersistentCookie/options
index daca5d73f552..9290f65d5b22 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-539/PersistentCookie/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-539/PersistentCookie/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-601/UrlRedirect/options b/csharp/ql/test/query-tests/Security Features/CWE-601/UrlRedirect/options
index daca5d73f552..7553ab79ad31 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-601/UrlRedirect/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-601/UrlRedirect/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-614/RequireSSL/AddedInCode/options b/csharp/ql/test/query-tests/Security Features/CWE-614/RequireSSL/AddedInCode/options
index dbb615bf06c0..9d05f9bf06d4 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-614/RequireSSL/AddedInCode/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-614/RequireSSL/AddedInCode/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-639/WebFormsTests/options b/csharp/ql/test/query-tests/Security Features/CWE-639/WebFormsTests/options
index 1fcc7e1cf48f..9290f65d5b22 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-639/WebFormsTests/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-639/WebFormsTests/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
-semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
\ No newline at end of file
+semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-643/options b/csharp/ql/test/query-tests/Security Features/CWE-643/options
index 595b1a2bac00..7404a7573b27 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-643/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-643/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoS/options b/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoS/options
index daca5d73f552..9290f65d5b22 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoS/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoS/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoSGlobalTimeout/options b/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoSGlobalTimeout/options
index daca5d73f552..9290f65d5b22 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoSGlobalTimeout/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-730/ReDoSGlobalTimeout/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-730/RegexInjection/options b/csharp/ql/test/query-tests/Security Features/CWE-730/RegexInjection/options
index daca5d73f552..9290f65d5b22 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-730/RegexInjection/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-730/RegexInjection/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-807/options b/csharp/ql/test/query-tests/Security Features/CWE-807/options
index 0ce0c6870b7c..96b0b028bdd2 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-807/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-807/options	
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Security Features/CWE-838/options b/csharp/ql/test/query-tests/Security Features/CWE-838/options
index 0af895004012..5e2b8b8284e2 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-838/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-838/options	
@@ -1,5 +1,4 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/System.Data.SqlClient/4.9.0/System.Data.SqlClient.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs ${testdir}/../../../resources/stubs/System.Windows.cs
diff --git a/csharp/ql/test/query-tests/Telemetry/SupportedExternalApis/options b/csharp/ql/test/query-tests/Telemetry/SupportedExternalApis/options
index 0ce0c6870b7c..96b0b028bdd2 100644
--- a/csharp/ql/test/query-tests/Telemetry/SupportedExternalApis/options
+++ b/csharp/ql/test/query-tests/Telemetry/SupportedExternalApis/options
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/query-tests/Telemetry/SupportedExternalSinks/options b/csharp/ql/test/query-tests/Telemetry/SupportedExternalSinks/options
index 0ce0c6870b7c..96b0b028bdd2 100644
--- a/csharp/ql/test/query-tests/Telemetry/SupportedExternalSinks/options
+++ b/csharp/ql/test/query-tests/Telemetry/SupportedExternalSinks/options
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
diff --git a/csharp/ql/test/utils/modelgenerator/dataflow/options b/csharp/ql/test/utils/modelgenerator/dataflow/options
index 8b0f1661e630..96b0b028bdd2 100644
--- a/csharp/ql/test/utils/modelgenerator/dataflow/options
+++ b/csharp/ql/test/utils/modelgenerator/dataflow/options
@@ -1,4 +1,3 @@
 semmle-extractor-options: /nostdlib /noconfig
 semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
-semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
\ No newline at end of file
+semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs

From 82cf472f8aea8a21363587f1dbad897fc3c903ee Mon Sep 17 00:00:00 2001
From: Michael Nebel <michaelnebel@github.com>
Date: Mon, 12 May 2025 09:11:51 +0200
Subject: [PATCH 5/8] C#: Fix ASP tests.

---
 csharp/ql/test/library-tests/asp/basic/Test.cs | 2 +-
 csharp/ql/test/library-tests/asp/basic/options | 4 ----
 2 files changed, 1 insertion(+), 5 deletions(-)
 delete mode 100644 csharp/ql/test/library-tests/asp/basic/options

diff --git a/csharp/ql/test/library-tests/asp/basic/Test.cs b/csharp/ql/test/library-tests/asp/basic/Test.cs
index 607e4d6d0e23..64185aa2c155 100644
--- a/csharp/ql/test/library-tests/asp/basic/Test.cs
+++ b/csharp/ql/test/library-tests/asp/basic/Test.cs
@@ -1,5 +1,5 @@
 // semmle-extractor-options: /nostdlib /noconfig
-// semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
+// semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
 // semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
 
 using System;
diff --git a/csharp/ql/test/library-tests/asp/basic/options b/csharp/ql/test/library-tests/asp/basic/options
deleted file mode 100644
index 8b0f1661e630..000000000000
--- a/csharp/ql/test/library-tests/asp/basic/options
+++ /dev/null
@@ -1,4 +0,0 @@
-semmle-extractor-options: /nostdlib /noconfig
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
-semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
\ No newline at end of file

From 60d26e522e15156a8144fb0739b8fdd145aea6a3 Mon Sep 17 00:00:00 2001
From: Michael Nebel <michaelnebel@github.com>
Date: Mon, 12 May 2025 11:09:34 +0200
Subject: [PATCH 6/8] C#: Cleanup test options files.

---
 csharp/ql/test/library-tests/asp/basic/Test.cs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/csharp/ql/test/library-tests/asp/basic/Test.cs b/csharp/ql/test/library-tests/asp/basic/Test.cs
index 64185aa2c155..607e4d6d0e23 100644
--- a/csharp/ql/test/library-tests/asp/basic/Test.cs
+++ b/csharp/ql/test/library-tests/asp/basic/Test.cs
@@ -1,5 +1,5 @@
 // semmle-extractor-options: /nostdlib /noconfig
-// semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
+// semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
 // semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
 
 using System;

From 05dc9b6d34d9c4b46e42ee21ecbe26b930e1549c Mon Sep 17 00:00:00 2001
From: Michael Nebel <michaelnebel@github.com>
Date: Mon, 12 May 2025 10:20:12 +0200
Subject: [PATCH 7/8] C#: Remove dependency to ASP.NET in the System.Web.cs
 stub file.

---
 .../query-tests/Security Features/CWE-611/options |  6 ++----
 csharp/ql/test/resources/stubs/System.Web.Http.cs | 14 ++++++++++++++
 csharp/ql/test/resources/stubs/System.Web.cs      | 15 ---------------
 3 files changed, 16 insertions(+), 19 deletions(-)
 create mode 100644 csharp/ql/test/resources/stubs/System.Web.Http.cs

diff --git a/csharp/ql/test/query-tests/Security Features/CWE-611/options b/csharp/ql/test/query-tests/Security Features/CWE-611/options
index 8b0f1661e630..ea31b8476dd2 100644
--- a/csharp/ql/test/query-tests/Security Features/CWE-611/options	
+++ b/csharp/ql/test/query-tests/Security Features/CWE-611/options	
@@ -1,4 +1,2 @@
-semmle-extractor-options: /nostdlib /noconfig
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj
-semmle-extractor-options: --load-sources-from-project:${testdir}/../../../resources/stubs/_frameworks/Microsoft.AspNetCore.App/Microsoft.AspNetCore.App.csproj
-semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
\ No newline at end of file
+semmle-extractor-options: ${testdir}/../../../resources/stubs/System.Web.cs
+semmle-extractor-options: /r:System.Collections.Specialized.dll /r:System.Xml.ReaderWriter.dll /r:System.Private.Xml.dll /r:System.Runtime.Extensions.dll
diff --git a/csharp/ql/test/resources/stubs/System.Web.Http.cs b/csharp/ql/test/resources/stubs/System.Web.Http.cs
new file mode 100644
index 000000000000..7cb6d36c74d4
--- /dev/null
+++ b/csharp/ql/test/resources/stubs/System.Web.Http.cs
@@ -0,0 +1,14 @@
+namespace System.Web.Http
+{
+    public class ApiController
+    {
+        public Microsoft.AspNetCore.Http.HttpContext Context => null;
+        public virtual Microsoft.AspNetCore.Mvc.RedirectResult Redirect(Uri location) => null;
+        public virtual Microsoft.AspNetCore.Mvc.RedirectResult Redirect(string location) => null;
+        public virtual ResponseMessageResult ResponseMessage(System.Net.Http.HttpResponseMessage response) => null;
+        public virtual Microsoft.AspNetCore.Mvc.RedirectToRouteResult RedirectToRoute(string routeName, object routeValues) => null;
+        public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; set; }
+    }
+
+    public class ResponseMessageResult { }
+}
diff --git a/csharp/ql/test/resources/stubs/System.Web.cs b/csharp/ql/test/resources/stubs/System.Web.cs
index 56f51208e540..f0572742f883 100644
--- a/csharp/ql/test/resources/stubs/System.Web.cs
+++ b/csharp/ql/test/resources/stubs/System.Web.cs
@@ -60,21 +60,6 @@ public class HttpApplication : IHttpHandler
     }
 }
 
-namespace System.Web.Http
-{
-    public class ApiController
-    {
-        public Microsoft.AspNetCore.Http.HttpContext Context => null;
-        public virtual Microsoft.AspNetCore.Mvc.RedirectResult Redirect(Uri location) => null;
-        public virtual Microsoft.AspNetCore.Mvc.RedirectResult Redirect(string location) => null;
-        public virtual ResponseMessageResult ResponseMessage(System.Net.Http.HttpResponseMessage response) => null;
-        public virtual Microsoft.AspNetCore.Mvc.RedirectToRouteResult RedirectToRoute(string routeName, object routeValues) => null;
-        public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; set; }
-    }
-
-    public class ResponseMessageResult { }
-}
-
 namespace System.Web.Mvc
 {
     public class Controller

From 5faaa4f0f36c7c38dda30587b16c6d5959ea935e Mon Sep 17 00:00:00 2001
From: Michael Nebel <michaelnebel@github.com>
Date: Mon, 12 May 2025 11:09:34 +0200
Subject: [PATCH 8/8] C#: Cleanup test options files.