Skip to content

Commit 4ae35d1

Browse files
authored
Merge pull request github#14707 from tamasvajk/standalone/framework-nuget-1
C#: Keep only one framework reference nuget package in standalone
2 parents 795e32c + a70d969 commit 4ae35d1

File tree

8 files changed

+247
-12
lines changed

8 files changed

+247
-12
lines changed

csharp/extractor/Semmle.Extraction.CSharp.DependencyFetching/DependencyManager.cs

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
8282
? new[] { options.SolutionFile }
8383
: allNonBinaryFiles.SelectFileNamesByExtension(".sln");
8484
var dllPaths = options.DllDirs.Count == 0
85-
? allFiles.SelectFileNamesByExtension(".dll").ToList()
86-
: options.DllDirs.Select(Path.GetFullPath).ToList();
85+
? allFiles.SelectFileNamesByExtension(".dll").ToHashSet()
86+
: options.DllDirs.Select(Path.GetFullPath).ToHashSet();
8787

8888
if (options.UseNuGet)
8989
{
@@ -107,7 +107,7 @@ public DependencyManager(string srcDir, IDependencyOptions options, ILogger logg
107107
.RequiredPaths
108108
.Select(d => Path.Combine(packageDirectory.DirInfo.FullName, d))
109109
.ToList();
110-
dllPaths.AddRange(paths);
110+
dllPaths.UnionWith(paths);
111111

112112
LogAllUnusedPackages(dependencies);
113113
DownloadMissingPackages(allNonBinaryFiles, dllPaths);
@@ -205,7 +205,7 @@ private void RemoveNugetAnalyzerReferences()
205205
}
206206
}
207207

208-
private void AddNetFrameworkDlls(List<string> dllPaths)
208+
private void AddNetFrameworkDlls(ISet<string> dllPaths)
209209
{
210210
// Multiple dotnet framework packages could be present.
211211
// The order of the packages is important, we're adding the first one that is present in the nuget cache.
@@ -218,13 +218,19 @@ private void AddNetFrameworkDlls(List<string> dllPaths)
218218
};
219219

220220
var frameworkPath = packagesInPrioOrder
221-
.Select(GetPackageDirectory)
222-
.FirstOrDefault(dir => dir is not null);
221+
.Select((s, index) => (Index: index, Path: GetPackageDirectory(s)))
222+
.FirstOrDefault(pair => pair.Path is not null);
223223

224-
if (frameworkPath is not null)
224+
if (frameworkPath.Path is not null)
225225
{
226-
dllPaths.Add(frameworkPath);
227-
progressMonitor.LogInfo("Found .NET Core/Framework DLLs in NuGet packages. Not adding installation directory.");
226+
dllPaths.Add(frameworkPath.Path);
227+
progressMonitor.LogInfo($"Found .NET Core/Framework DLLs in NuGet packages at {frameworkPath.Path}. Not adding installation directory.");
228+
229+
for (var i = frameworkPath.Index + 1; i < packagesInPrioOrder.Length; i++)
230+
{
231+
RemoveNugetPackageReference(packagesInPrioOrder[i], dllPaths);
232+
}
233+
228234
return;
229235
}
230236

@@ -249,7 +255,29 @@ private void AddNetFrameworkDlls(List<string> dllPaths)
249255
dllPaths.Add(runtimeLocation);
250256
}
251257

252-
private void AddAspNetCoreFrameworkDlls(List<string> dllPaths)
258+
private void RemoveNugetPackageReference(string packagePrefix, ISet<string> dllPaths)
259+
{
260+
if (!options.UseNuGet)
261+
{
262+
return;
263+
}
264+
265+
var packageFolder = packageDirectory.DirInfo.FullName.ToLowerInvariant();
266+
if (packageFolder == null)
267+
{
268+
return;
269+
}
270+
271+
var packagePathPrefix = Path.Combine(packageFolder, packagePrefix.ToLowerInvariant());
272+
var toRemove = dllPaths.Where(s => s.ToLowerInvariant().StartsWith(packagePathPrefix));
273+
foreach (var path in toRemove)
274+
{
275+
dllPaths.Remove(path);
276+
progressMonitor.RemovedReference(path);
277+
}
278+
}
279+
280+
private void AddAspNetCoreFrameworkDlls(ISet<string> dllPaths)
253281
{
254282
if (!fileContent.IsNewProjectStructureUsed || !fileContent.UseAspNetCoreDlls)
255283
{
@@ -269,7 +297,7 @@ private void AddAspNetCoreFrameworkDlls(List<string> dllPaths)
269297
}
270298
}
271299

272-
private void AddMicrosoftWindowsDesktopDlls(List<string> dllPaths)
300+
private void AddMicrosoftWindowsDesktopDlls(ISet<string> dllPaths)
273301
{
274302
if (GetPackageDirectory("microsoft.windowsdesktop.app.ref") is string windowsDesktopApp)
275303
{
@@ -628,7 +656,7 @@ private void RestoreProjects(IEnumerable<string> projects, out IEnumerable<strin
628656
assets = assetFiles;
629657
}
630658

631-
private void DownloadMissingPackages(List<FileInfo> allFiles, List<string> dllPaths)
659+
private void DownloadMissingPackages(List<FileInfo> allFiles, ISet<string> dllPaths)
632660
{
633661
var nugetConfigs = allFiles.SelectFileNamesByName("nuget.config").ToArray();
634662
string? nugetConfig = null;
Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.CSharp.dll |
2+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.VisualBasic.Core.dll |
3+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.VisualBasic.dll |
4+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.Win32.Primitives.dll |
5+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.Win32.Registry.dll |
6+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.AppContext.dll |
7+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Buffers.dll |
8+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.Concurrent.dll |
9+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.Immutable.dll |
10+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.NonGeneric.dll |
11+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.Specialized.dll |
12+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.dll |
13+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.Annotations.dll |
14+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.DataAnnotations.dll |
15+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.EventBasedAsync.dll |
16+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.Primitives.dll |
17+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.TypeConverter.dll |
18+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.dll |
19+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Configuration.dll |
20+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Console.dll |
21+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Core.dll |
22+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Data.Common.dll |
23+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Data.DataSetExtensions.dll |
24+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Data.dll |
25+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Contracts.dll |
26+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Debug.dll |
27+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.DiagnosticSource.dll |
28+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.FileVersionInfo.dll |
29+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Process.dll |
30+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.StackTrace.dll |
31+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.TextWriterTraceListener.dll |
32+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Tools.dll |
33+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.TraceSource.dll |
34+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Tracing.dll |
35+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Drawing.Primitives.dll |
36+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Drawing.dll |
37+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Dynamic.Runtime.dll |
38+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Formats.Asn1.dll |
39+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Formats.Tar.dll |
40+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Globalization.Calendars.dll |
41+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Globalization.Extensions.dll |
42+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Globalization.dll |
43+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Compression.Brotli.dll |
44+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Compression.FileSystem.dll |
45+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Compression.ZipFile.dll |
46+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Compression.dll |
47+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.AccessControl.dll |
48+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.DriveInfo.dll |
49+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.Primitives.dll |
50+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.Watcher.dll |
51+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.dll |
52+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.IsolatedStorage.dll |
53+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.MemoryMappedFiles.dll |
54+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Pipes.AccessControl.dll |
55+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Pipes.dll |
56+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.UnmanagedMemoryStream.dll |
57+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.dll |
58+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Linq.Expressions.dll |
59+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Linq.Parallel.dll |
60+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Linq.Queryable.dll |
61+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Linq.dll |
62+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Memory.dll |
63+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Http.Json.dll |
64+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Http.dll |
65+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.HttpListener.dll |
66+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Mail.dll |
67+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.NameResolution.dll |
68+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.NetworkInformation.dll |
69+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Ping.dll |
70+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Primitives.dll |
71+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Quic.dll |
72+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Requests.dll |
73+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Security.dll |
74+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.ServicePoint.dll |
75+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Sockets.dll |
76+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebClient.dll |
77+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebHeaderCollection.dll |
78+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebProxy.dll |
79+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebSockets.Client.dll |
80+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebSockets.dll |
81+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.dll |
82+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Numerics.Vectors.dll |
83+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Numerics.dll |
84+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ObjectModel.dll |
85+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.DispatchProxy.dll |
86+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Emit.ILGeneration.dll |
87+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Emit.Lightweight.dll |
88+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Emit.dll |
89+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Extensions.dll |
90+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Metadata.dll |
91+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Primitives.dll |
92+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.TypeExtensions.dll |
93+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.dll |
94+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Resources.Reader.dll |
95+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Resources.ResourceManager.dll |
96+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Resources.Writer.dll |
97+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.CompilerServices.Unsafe.dll |
98+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.CompilerServices.VisualC.dll |
99+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Extensions.dll |
100+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Handles.dll |
101+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.InteropServices.JavaScript.dll |
102+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.InteropServices.RuntimeInformation.dll |
103+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.InteropServices.dll |
104+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Intrinsics.dll |
105+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Loader.dll |
106+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Numerics.dll |
107+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Formatters.dll |
108+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Json.dll |
109+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Primitives.dll |
110+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Xml.dll |
111+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.dll |
112+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.dll |
113+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.AccessControl.dll |
114+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Claims.dll |
115+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Algorithms.dll |
116+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Cng.dll |
117+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Csp.dll |
118+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Encoding.dll |
119+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.OpenSsl.dll |
120+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Primitives.dll |
121+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.X509Certificates.dll |
122+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.dll |
123+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Principal.Windows.dll |
124+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Principal.dll |
125+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.SecureString.dll |
126+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.dll |
127+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ServiceModel.Web.dll |
128+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ServiceProcess.dll |
129+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Encoding.CodePages.dll |
130+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Encoding.Extensions.dll |
131+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Encoding.dll |
132+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Encodings.Web.dll |
133+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Json.dll |
134+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.RegularExpressions.dll |
135+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Channels.dll |
136+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Overlapped.dll |
137+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Tasks.Dataflow.dll |
138+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Tasks.Extensions.dll |
139+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Tasks.Parallel.dll |
140+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Tasks.dll |
141+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Thread.dll |
142+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.ThreadPool.dll |
143+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Timer.dll |
144+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.dll |
145+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Transactions.Local.dll |
146+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Transactions.dll |
147+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ValueTuple.dll |
148+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Web.HttpUtility.dll |
149+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Web.dll |
150+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Windows.dll |
151+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.Linq.dll |
152+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.ReaderWriter.dll |
153+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.Serialization.dll |
154+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XDocument.dll |
155+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XPath.XDocument.dll |
156+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XPath.dll |
157+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XmlDocument.dll |
158+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XmlSerializer.dll |
159+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.dll |
160+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.dll |
161+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/WindowsBase.dll |
162+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/mscorlib.dll |
163+
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/netstandard.dll |
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import csharp
2+
3+
private string getPath(Assembly a) {
4+
not a.getCompilation().getOutputAssembly() = a and
5+
exists(string s | s = a.getFile().getAbsolutePath() |
6+
result =
7+
s.substring(s.indexOf("GitHub/packages/") + "GitHub/packages/".length() + 16, s.length())
8+
or
9+
result = s and
10+
not exists(s.indexOf("GitHub/packages/"))
11+
)
12+
}
13+
14+
from Assembly a
15+
select getPath(a)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
var dummy = "dummy";
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"sdk": {
3+
"version": "7.0.102"
4+
}
5+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net48</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
10+
</Project>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net7.0</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
10+
</Project>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from create_database_utils import *
2+
3+
run_codeql_database_create([], lang="csharp", extra_args=["--extractor-option=buildless=true", "--extractor-option=cil=false"])

0 commit comments

Comments
 (0)