Force the nuget download of dotnet framework reference assemblies

This commit is contained in:
Tamas Vajk
2023-10-06 14:10:06 +02:00
parent 12fdb3427b
commit 93380f8cbb
6 changed files with 216 additions and 184 deletions

View File

@@ -47,9 +47,12 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
this.progressMonitor = new ProgressMonitor(logger);
this.sourceDir = new DirectoryInfo(srcDir);
packageDirectory = new TemporaryDirectory(ComputeTempDirectory(sourceDir.FullName));
tempWorkingDirectory = new TemporaryDirectory(FileUtils.GetTemporaryWorkingDirectory(out cleanupTempWorkingDirectory));
try
{
this.dotnet = DotNet.Make(options, progressMonitor);
this.dotnet = DotNet.Make(options, progressMonitor, tempWorkingDirectory);
}
catch
{
@@ -59,8 +62,6 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
this.progressMonitor.FindingFiles(srcDir);
packageDirectory = new TemporaryDirectory(ComputeTempDirectory(sourceDir.FullName));
tempWorkingDirectory = new TemporaryDirectory(FileUtils.GetTemporaryWorkingDirectory(out cleanupTempWorkingDirectory));
var allFiles = GetAllFiles();
var binaryFileExtensions = new HashSet<string>(new[] { ".dll", ".exe" }); // TODO: add more binary file extensions.
@@ -537,11 +538,11 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
}
private bool RestoreProject(string project, string? pathToNugetConfig = null) =>
dotnet.RestoreProjectToDirectory(project, packageDirectory.DirInfo.FullName, pathToNugetConfig);
private bool RestoreProject(string project, bool forceDotnetRefAssemblyFetching, string? pathToNugetConfig = null) =>
dotnet.RestoreProjectToDirectory(project, packageDirectory.DirInfo.FullName, forceDotnetRefAssemblyFetching, pathToNugetConfig);
private bool RestoreSolution(string solution, out IEnumerable<string> projects) =>
dotnet.RestoreSolutionToDirectory(solution, packageDirectory.DirInfo.FullName, out projects);
dotnet.RestoreSolutionToDirectory(solution, packageDirectory.DirInfo.FullName, forceDotnetRefAssemblyFetching: true, out projects);
/// <summary>
/// Executes `dotnet restore` on all solution files in solutions.
@@ -567,7 +568,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
{
Parallel.ForEach(projects, new ParallelOptions { MaxDegreeOfParallelism = options.Threads }, project =>
{
RestoreProject(project);
RestoreProject(project, forceDotnetRefAssemblyFetching: true);
});
}
@@ -612,7 +613,7 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
return;
}
success = RestoreProject(tempDir.DirInfo.FullName, nugetConfig);
success = RestoreProject(tempDir.DirInfo.FullName, forceDotnetRefAssemblyFetching: false, pathToNugetConfig: nugetConfig);
// TODO: the restore might fail, we could retry with a prerelease (*-* instead of *) version of the package.
if (!success)
{

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using Semmle.Util;
namespace Semmle.Extraction.CSharp.DependencyFetching
{
@@ -13,19 +14,21 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
{
private readonly IDotNetCliInvoker dotnetCliInvoker;
private readonly ProgressMonitor progressMonitor;
private readonly TemporaryDirectory? tempWorkingDirectory;
private DotNet(IDotNetCliInvoker dotnetCliInvoker, ProgressMonitor progressMonitor)
private DotNet(IDotNetCliInvoker dotnetCliInvoker, ProgressMonitor progressMonitor, TemporaryDirectory? tempWorkingDirectory = null)
{
this.progressMonitor = progressMonitor;
this.tempWorkingDirectory = tempWorkingDirectory;
this.dotnetCliInvoker = dotnetCliInvoker;
Info();
}
private DotNet(IDependencyOptions options, ProgressMonitor progressMonitor) : this(new DotNetCliInvoker(progressMonitor, Path.Combine(options.DotNetPath ?? string.Empty, "dotnet")), progressMonitor) { }
private DotNet(IDependencyOptions options, ProgressMonitor progressMonitor, TemporaryDirectory tempWorkingDirectory) : this(new DotNetCliInvoker(progressMonitor, Path.Combine(options.DotNetPath ?? string.Empty, "dotnet")), progressMonitor, tempWorkingDirectory) { }
internal static IDotNet Make(IDotNetCliInvoker dotnetCliInvoker, ProgressMonitor progressMonitor) => new DotNet(dotnetCliInvoker, progressMonitor);
public static IDotNet Make(IDependencyOptions options, ProgressMonitor progressMonitor) => new DotNet(options, progressMonitor);
public static IDotNet Make(IDependencyOptions options, ProgressMonitor progressMonitor, TemporaryDirectory tempWorkingDirectory) => new DotNet(options, progressMonitor, tempWorkingDirectory);
private void Info()
{
@@ -37,12 +40,29 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
}
}
private static string GetRestoreArgs(string projectOrSolutionFile, string packageDirectory) =>
$"restore --no-dependencies \"{projectOrSolutionFile}\" --packages \"{packageDirectory}\" /p:DisableImplicitNuGetFallbackFolder=true";
public bool RestoreProjectToDirectory(string projectFile, string packageDirectory, string? pathToNugetConfig = null)
private string GetRestoreArgs(string projectOrSolutionFile, string packageDirectory, bool forceDotnetRefAssemblyFetching)
{
var args = GetRestoreArgs(projectFile, packageDirectory);
var args = $"restore --no-dependencies \"{projectOrSolutionFile}\" --packages \"{packageDirectory}\" /p:DisableImplicitNuGetFallbackFolder=true";
if (forceDotnetRefAssemblyFetching)
{
// Ugly hack: we set the TargetFrameworkRootPath and NetCoreTargetingPackRoot properties to an empty folder:
var path = ".empty";
if (tempWorkingDirectory != null)
{
path = Path.Combine(tempWorkingDirectory.ToString(), "emptyFakeDotnetRoot");
Directory.CreateDirectory(path);
}
args += $" /p:TargetFrameworkRootPath=\"{path}\" /p:NetCoreTargetingPackRoot=\"{path}\"";
}
return args;
}
public bool RestoreProjectToDirectory(string projectFile, string packageDirectory, bool forceDotnetRefAssemblyFetching, string? pathToNugetConfig = null)
{
var args = GetRestoreArgs(projectFile, packageDirectory, forceDotnetRefAssemblyFetching);
if (pathToNugetConfig != null)
{
args += $" --configfile \"{pathToNugetConfig}\"";
@@ -51,9 +71,9 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
return dotnetCliInvoker.RunCommand(args);
}
public bool RestoreSolutionToDirectory(string solutionFile, string packageDirectory, out IEnumerable<string> projects)
public bool RestoreSolutionToDirectory(string solutionFile, string packageDirectory, bool forceDotnetRefAssemblyFetching, out IEnumerable<string> projects)
{
var args = GetRestoreArgs(solutionFile, packageDirectory);
var args = GetRestoreArgs(solutionFile, packageDirectory, forceDotnetRefAssemblyFetching);
args += " --verbosity normal";
if (dotnetCliInvoker.RunCommand(args, out var output))
{

View File

@@ -4,8 +4,8 @@ namespace Semmle.Extraction.CSharp.DependencyFetching
{
internal interface IDotNet
{
bool RestoreProjectToDirectory(string project, string directory, string? pathToNugetConfig = null);
bool RestoreSolutionToDirectory(string solutionFile, string packageDirectory, out IEnumerable<string> projects);
bool RestoreProjectToDirectory(string project, string directory, bool forceDotnetRefAssemblyFetching, string? pathToNugetConfig = null);
bool RestoreSolutionToDirectory(string solutionFile, string packageDirectory, bool forceDotnetRefAssemblyFetching, out IEnumerable<string> projects);
bool New(string folder);
bool AddPackage(string folder, string package);
IList<string> GetListedRuntimes();

View File

@@ -99,7 +99,7 @@ namespace Semmle.Extraction.Tests
var dotnet = MakeDotnet(dotnetCliInvoker);
// Execute
dotnet.RestoreProjectToDirectory("myproject.csproj", "mypackages");
dotnet.RestoreProjectToDirectory("myproject.csproj", "mypackages", false);
// Verify
var lastArgs = dotnetCliInvoker.GetLastArgs();
@@ -114,7 +114,7 @@ namespace Semmle.Extraction.Tests
var dotnet = MakeDotnet(dotnetCliInvoker);
// Execute
dotnet.RestoreProjectToDirectory("myproject.csproj", "mypackages", "myconfig.config");
dotnet.RestoreProjectToDirectory("myproject.csproj", "mypackages", false, "myconfig.config");
// Verify
var lastArgs = dotnetCliInvoker.GetLastArgs();
@@ -129,7 +129,7 @@ namespace Semmle.Extraction.Tests
var dotnet = MakeDotnet(dotnetCliInvoker);
// Execute
dotnet.RestoreSolutionToDirectory("mysolution.sln", "mypackages", out var projects);
dotnet.RestoreSolutionToDirectory("mysolution.sln", "mypackages", false, out var projects);
// Verify
var lastArgs = dotnetCliInvoker.GetLastArgs();
@@ -148,7 +148,7 @@ namespace Semmle.Extraction.Tests
dotnetCliInvoker.Success = false;
// Execute
dotnet.RestoreSolutionToDirectory("mysolution.sln", "mypackages", out var projects);
dotnet.RestoreSolutionToDirectory("mysolution.sln", "mypackages", false, out var projects);
// Verify
var lastArgs = dotnetCliInvoker.GetLastArgs();

View File

@@ -19,9 +19,9 @@ namespace Semmle.Extraction.Tests
public bool New(string folder) => true;
public bool RestoreProjectToDirectory(string project, string directory, string? pathToNugetConfig = null) => true;
public bool RestoreProjectToDirectory(string project, string directory, bool forceDotnetRefAssemblyFetching, string? pathToNugetConfig = null) => true;
public bool RestoreSolutionToDirectory(string solution, string directory, out IEnumerable<string> projects)
public bool RestoreSolutionToDirectory(string solution, string directory, bool forceDotnetRefAssemblyFetching, out IEnumerable<string> projects)
{
projects = Array.Empty<string>();
return true;

View File

@@ -5,167 +5,178 @@
| /avalara.avatax/21.10.0/lib/netstandard20/Avalara.AvaTax.netstandard20.dll |
| /microsoft.bcl.asyncinterfaces/6.0.0/lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll |
| /microsoft.netcore.app.ref/3.1.0/ref/netcoreapp3.1/System.Runtime.InteropServices.WindowsRuntime.dll |
| /microsoft.netcore.app.ref/6.0.13/analyzers/dotnet/cs/System.Text.Json.SourceGeneration.dll |
| /microsoft.netcore.app.ref/6.0.13/analyzers/dotnet/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/Microsoft.CSharp.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/Microsoft.VisualBasic.Core.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/Microsoft.VisualBasic.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/Microsoft.Win32.Primitives.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/Microsoft.Win32.Registry.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.AppContext.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Buffers.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Collections.Concurrent.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Collections.Immutable.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Collections.NonGeneric.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Collections.Specialized.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Collections.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.ComponentModel.Annotations.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.ComponentModel.DataAnnotations.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.ComponentModel.EventBasedAsync.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.ComponentModel.Primitives.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.ComponentModel.TypeConverter.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.ComponentModel.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Configuration.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Console.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Core.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Data.Common.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Data.DataSetExtensions.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Data.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Diagnostics.Contracts.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Diagnostics.Debug.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Diagnostics.DiagnosticSource.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Diagnostics.FileVersionInfo.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Diagnostics.Process.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Diagnostics.StackTrace.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Diagnostics.TextWriterTraceListener.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Diagnostics.Tools.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Diagnostics.TraceSource.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Diagnostics.Tracing.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Drawing.Primitives.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Drawing.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Dynamic.Runtime.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Formats.Asn1.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Globalization.Calendars.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Globalization.Extensions.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Globalization.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.Compression.Brotli.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.Compression.FileSystem.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.Compression.ZipFile.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.Compression.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.FileSystem.AccessControl.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.FileSystem.DriveInfo.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.FileSystem.Primitives.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.FileSystem.Watcher.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.FileSystem.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.IsolatedStorage.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.MemoryMappedFiles.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.Pipes.AccessControl.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.Pipes.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.UnmanagedMemoryStream.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.IO.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Linq.Expressions.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Linq.Parallel.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Linq.Queryable.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Linq.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Memory.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.Http.Json.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.Http.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.HttpListener.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.Mail.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.NameResolution.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.NetworkInformation.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.Ping.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.Primitives.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.Requests.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.Security.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.ServicePoint.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.Sockets.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.WebClient.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.WebHeaderCollection.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.WebProxy.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.WebSockets.Client.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.WebSockets.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Net.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Numerics.Vectors.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Numerics.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.ObjectModel.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Reflection.DispatchProxy.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Reflection.Emit.ILGeneration.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Reflection.Emit.Lightweight.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Reflection.Emit.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Reflection.Extensions.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Reflection.Metadata.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Reflection.Primitives.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Reflection.TypeExtensions.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Reflection.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Resources.Reader.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Resources.ResourceManager.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Resources.Writer.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.CompilerServices.Unsafe.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.CompilerServices.VisualC.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.Extensions.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.Handles.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.InteropServices.RuntimeInformation.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.InteropServices.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.Intrinsics.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.Loader.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.Numerics.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.Serialization.Formatters.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.Serialization.Json.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.Serialization.Primitives.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.Serialization.Xml.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.Serialization.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Runtime.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Security.AccessControl.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Security.Claims.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Security.Cryptography.Algorithms.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Security.Cryptography.Cng.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Security.Cryptography.Csp.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Security.Cryptography.Encoding.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Security.Cryptography.OpenSsl.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Security.Cryptography.Primitives.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Security.Cryptography.X509Certificates.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Security.Principal.Windows.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Security.Principal.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Security.SecureString.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Security.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.ServiceModel.Web.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.ServiceProcess.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Text.Encoding.CodePages.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Text.Encoding.Extensions.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Text.Encoding.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Text.Encodings.Web.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Text.Json.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Text.RegularExpressions.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Threading.Channels.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Threading.Overlapped.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Threading.Tasks.Dataflow.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Threading.Tasks.Extensions.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Threading.Tasks.Parallel.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Threading.Tasks.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Threading.Thread.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Threading.ThreadPool.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Threading.Timer.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Threading.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Transactions.Local.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Transactions.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.ValueTuple.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Web.HttpUtility.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Web.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Windows.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Xml.Linq.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Xml.ReaderWriter.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Xml.Serialization.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Xml.XDocument.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Xml.XPath.XDocument.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Xml.XPath.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Xml.XmlDocument.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Xml.XmlSerializer.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.Xml.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/System.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/WindowsBase.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/mscorlib.dll |
| /microsoft.netcore.app.ref/6.0.13/ref/net6.0/netstandard.dll |
| /microsoft.netcore.app.ref/7.0.2/analyzers/dotnet/cs/Microsoft.Interop.JavaScript.JSImportGenerator.dll |
| /microsoft.netcore.app.ref/7.0.2/analyzers/dotnet/cs/Microsoft.Interop.LibraryImportGenerator.dll |
| /microsoft.netcore.app.ref/7.0.2/analyzers/dotnet/cs/Microsoft.Interop.SourceGeneration.dll |
| /microsoft.netcore.app.ref/7.0.2/analyzers/dotnet/cs/System.Text.Json.SourceGeneration.dll |
| /microsoft.netcore.app.ref/7.0.2/analyzers/dotnet/cs/System.Text.RegularExpressions.Generator.dll |
| /microsoft.netcore.app.ref/7.0.2/analyzers/dotnet/cs/zh-Hant/Microsoft.Interop.LibraryImportGenerator.resources.dll |
| /microsoft.netcore.app.ref/7.0.2/analyzers/dotnet/cs/zh-Hant/Microsoft.Interop.SourceGeneration.resources.dll |
| /microsoft.netcore.app.ref/7.0.2/analyzers/dotnet/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll |
| /microsoft.netcore.app.ref/7.0.2/analyzers/dotnet/cs/zh-Hant/System.Text.RegularExpressions.Generator.resources.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.CSharp.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.VisualBasic.Core.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.VisualBasic.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.Win32.Primitives.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/Microsoft.Win32.Registry.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.AppContext.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Buffers.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.Concurrent.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.Immutable.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.NonGeneric.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.Specialized.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Collections.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.Annotations.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.DataAnnotations.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.EventBasedAsync.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.Primitives.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.TypeConverter.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ComponentModel.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Configuration.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Console.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Core.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Data.Common.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Data.DataSetExtensions.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Contracts.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Debug.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.DiagnosticSource.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.FileVersionInfo.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Process.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.StackTrace.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.TextWriterTraceListener.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Tools.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.TraceSource.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Diagnostics.Tracing.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Drawing.Primitives.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Drawing.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Dynamic.Runtime.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Formats.Asn1.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Formats.Tar.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Globalization.Calendars.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Globalization.Extensions.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Globalization.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Compression.Brotli.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Compression.FileSystem.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Compression.ZipFile.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Compression.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.AccessControl.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.DriveInfo.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.Primitives.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.Watcher.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.FileSystem.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.IsolatedStorage.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.MemoryMappedFiles.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Pipes.AccessControl.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.Pipes.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.UnmanagedMemoryStream.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.IO.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Linq.Expressions.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Linq.Parallel.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Linq.Queryable.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Linq.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Memory.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Http.Json.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Http.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.HttpListener.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Mail.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.NameResolution.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.NetworkInformation.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Ping.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Primitives.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Quic.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Requests.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Security.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.ServicePoint.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.Sockets.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebClient.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebHeaderCollection.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebProxy.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebSockets.Client.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.WebSockets.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Net.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Numerics.Vectors.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Numerics.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ObjectModel.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.DispatchProxy.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Emit.ILGeneration.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Emit.Lightweight.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Emit.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Extensions.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Metadata.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.Primitives.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.TypeExtensions.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Reflection.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Resources.Reader.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Resources.ResourceManager.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Resources.Writer.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.CompilerServices.Unsafe.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.CompilerServices.VisualC.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Extensions.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Handles.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.InteropServices.JavaScript.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.InteropServices.RuntimeInformation.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.InteropServices.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Intrinsics.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Loader.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Numerics.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Formatters.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Json.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Primitives.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.Xml.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.Serialization.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Runtime.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.AccessControl.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Claims.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Algorithms.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Cng.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Csp.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Encoding.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.OpenSsl.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.Primitives.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.X509Certificates.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Cryptography.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Principal.Windows.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.Principal.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.SecureString.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Security.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ServiceModel.Web.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ServiceProcess.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Encoding.CodePages.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Encoding.Extensions.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Encoding.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Encodings.Web.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.Json.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Text.RegularExpressions.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Channels.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Overlapped.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Tasks.Dataflow.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Tasks.Extensions.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Tasks.Parallel.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Tasks.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Thread.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.ThreadPool.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.Timer.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Threading.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Transactions.Local.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Transactions.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.ValueTuple.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Web.HttpUtility.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Web.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Windows.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.Linq.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.ReaderWriter.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.Serialization.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XDocument.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XPath.XDocument.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XPath.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XmlDocument.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/System.Xml.XmlSerializer.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/WindowsBase.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/mscorlib.dll |
| /microsoft.netcore.app.ref/7.0.2/ref/net7.0/netstandard.dll |
| /netstandard.library/2.0.3/build/netstandard2.0/ref/System.ComponentModel.Composition.dll |
| /newtonsoft.json/12.0.1/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll |
| /nunit/3.13.3/lib/netstandard2.0/nunit.framework.dll |