NYamlConfigHelper 1.0.1
dotnet add package NYamlConfigHelper --version 1.0.1
NuGet\Install-Package NYamlConfigHelper -Version 1.0.1
<PackageReference Include="NYamlConfigHelper" Version="1.0.1" />
<PackageVersion Include="NYamlConfigHelper" Version="1.0.1" />
<PackageReference Include="NYamlConfigHelper" />
paket add NYamlConfigHelper --version 1.0.1
#r "nuget: NYamlConfigHelper, 1.0.1"
#:package NYamlConfigHelper@1.0.1
#addin nuget:?package=NYamlConfigHelper&version=1.0.1
#tool nuget:?package=NYamlConfigHelper&version=1.0.1
NYamlConfigHelper
YAML configuration library for .NET Framework 4.7.2 and .NET Standard 2.0. It supports complete object, list, item, and dictionary serialization plus atomic updates of individual keys in nested configuration trees.
Object and list serialization
var serializer = new NYamlConfig<MySettings>();
serializer.Serialize(path, settings);
MySettings loaded = serializer.Deserialize(path);
var items = new NYamlConfig<MyItem>();
items.SerializeList(path, source);
List<MyItem> loadedItems = items.DeserializeList(path);
Work with one list item
int index = items.AddItem(path, newItem);
MyItem item = items.ReadItem(path, index);
items.WriteItem(path, index, changedItem);
MyItem removed = items.RemoveItem(path, index);
List indexes are zero-based. Item changes rewrite the list atomically.
Read and write nested keys
var config = new YamlConfigFile(path);
config.WriteValue("mainUI", "machineName", "EVI-01");
config.WriteValue("motion/axisX", "timeoutMs", 3000);
string machineName = config.ReadValue("mainUI", "machineName", "Unknown");
int timeout = config.ReadValue("motion/axisX", "timeoutMs", 1000);
The result is normal YAML:
mainUI:
machineName: EVI-01
motion:
axisX:
timeoutMs: 3000
Tree paths accept / or \. Updating one key preserves unrelated trees and values.
Use a variable name as its key
string machineName = "EVI-01";
config.WriteVariable("mainUI", () => machineName);
machineName = config.ReadVariable("mainUI", () => machineName);
Local variables, fields, and properties are supported.
Dictionary serialization
Write a complete dictionary to its own YAML file:
NYamlConfig.SerializeDictionary(path, values);
Dictionary<string, int> loaded =
NYamlConfig.DeserializeDictionary<string, int>(path);
Or merge a string-keyed dictionary into a configuration tree:
config.WriteDictionary("motion/timeouts", values);
Dictionary<string, int> loaded =
config.ReadDictionary<int>("motion/timeouts");
Additional operations include ContainsValue, ReadTree, WriteValues, WriteEntries,
ReplaceAll, RemoveValue, and RemoveTree. All writes use a same-directory temporary file
before replacing the destination.
Licensed under the MIT License. YAML parsing and serialization are powered by YamlDotNet.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.7.2
- YamlDotNet (>= 16.3.0)
-
.NETStandard 2.0
- YamlDotNet (>= 16.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1 | 134 | 8/14/2026 |
Update the NuGet package icon.