Voidtools.Everything.Net
0.1.3
dotnet add package Voidtools.Everything.Net --version 0.1.3
NuGet\Install-Package Voidtools.Everything.Net -Version 0.1.3
<PackageReference Include="Voidtools.Everything.Net" Version="0.1.3" />
<PackageVersion Include="Voidtools.Everything.Net" Version="0.1.3" />
<PackageReference Include="Voidtools.Everything.Net" />
paket add Voidtools.Everything.Net --version 0.1.3
#r "nuget: Voidtools.Everything.Net, 0.1.3"
#:package Voidtools.Everything.Net@0.1.3
#addin nuget:?package=Voidtools.Everything.Net&version=0.1.3
#tool nuget:?package=Voidtools.Everything.Net&version=0.1.3
Everything.Net
Typed .NET wrapper for the voidtools Everything SDK.
NuGet package: Voidtools.Everything.Net
Supported target frameworks:
net8.0net10.0
Supported architectures
- Windows x64 via
Everything64.dll - Windows ARM64 via
EverythingARM64.dll
Requirements
- Windows
- Everything installed and running
- Matching native SDK DLL deployed with your app or packaged through
runtimes/.../native
Registration
using Everything.Net.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
var services = new ServiceCollection();
services.AddEverythingClient(options =>
{
options.DefaultMaxResults = 200;
options.ThrowOnUnavailableClient = true;
});
Usage
using Everything.Net.Abstractions;
using Everything.Net.Enums;
using Everything.Net.Models;
using Microsoft.Extensions.DependencyInjection;
var provider = services.BuildServiceProvider();
var client = provider.GetRequiredService<IEverythingClient>();
var response = await client.SearchAsync(new EverythingQuery
{
SearchText = "invoice dm:today",
WaitForResults = true,
Sort = EverythingSort.DateModifiedDescending,
RequestFlags =
EverythingRequestFlags.FileName |
EverythingRequestFlags.Path |
EverythingRequestFlags.Size |
EverythingRequestFlags.DateModified
});
foreach (var item in response.Results)
{
Console.WriteLine($"{item.FullPath} ({item.Size})");
}
If MaxResults is left at 0, the client uses EverythingClientOptions.DefaultMaxResults.
Paging
Use Offset and MaxResults to fetch a window of results instead of materializing a large result set at once:
var pageSize = 100;
var page = 2;
var response = await client.SearchAsync(new EverythingQuery
{
SearchText = "report",
Offset = (uint)(page * pageSize),
MaxResults = (uint)pageSize,
Sort = EverythingSort.NameAscending,
RequestFlags =
EverythingRequestFlags.FileName |
EverythingRequestFlags.Path
});
Console.WriteLine($"Total matches: {response.TotalResults}");
Console.WriteLine($"Returned this page: {response.Results.Count}");
foreach (var item in response.Results)
{
Console.WriteLine(item.FullPath);
}
Query Features
SearchText is passed directly to Everything, so Everything search syntax, filters, and macros can be used as-is.
The query model also exposes common matching options such as regex, case sensitivity, whole-word matching, and path matching:
var response = await client.SearchAsync(new EverythingQuery
{
SearchText = @"^report-\d{4}\.pdf$",
Regex = true,
MatchCase = false,
MatchWholeWord = false,
MatchPath = false
});
Native DLL packaging
The NuGet package includes the native Everything SDK DLLs as runtime assets:
runtimes/win-x64/native/Everything64.dllruntimes/win-arm64/native/EverythingARM64.dll
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Options (>= 10.0.5)
-
net8.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Options (>= 10.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.