FSC-IniReader 2.2.0

dotnet add package FSC-IniReader --version 2.2.0                
NuGet\Install-Package FSC-IniReader -Version 2.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FSC-IniReader" Version="2.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FSC-IniReader --version 2.2.0                
#r "nuget: FSC-IniReader, 2.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install FSC-IniReader as a Cake Addin
#addin nuget:?package=FSC-IniReader&version=2.2.0

// Install FSC-IniReader as a Cake Tool
#tool nuget:?package=FSC-IniReader&version=2.2.0                

FSC-IniReader

New, better, easier ... The powerful crossplatform IniReader is back.

2.2.0 Early Access

What's new?

Big remake. Please use the namespace FSCIni.Future. The old namespace is automatically marked as obsolete. If you find any issue, please message me. More details on github.

  • Added custom datatypes like FSCIniTypes
  • Added new methods like ini1.Merge(ini2);
  • Upgrade to .Net 7

Example Code

using FSC_IniReader.Future;

FSCIni ini = @"
[AccountInfo]
Username = Jack
Password = JacksPassword1234

[Settings]
EnableDarkmode = true
RememberLogin = false
ProgramWidth = 720
ProgramHeight = 480
";

if (ini["Settings"]["ProgramWidth"].GetInt == 720)
{
    ini["Settings"]["ProgramWidth"] = 1080;
}

Console.WriteLine(ini.ToString());

Example Code 2

using FSC_IniReader.Future;

FSCIni ini = new FSCIni(@"
[AccountInfo]
Username = Jack
Password = JacksPassword1234

[Settings]
EnableDarkmode = true
RememberLogin = false
ProgramWidth = 720
ProgramHeight = 480
");

if (ini["Settings"]["ProgramWidth"].GetInt == 720)
{
    ini["Settings"]["ProgramWidth"] = 1080;
}

Console.WriteLine(ini.ToString());

Options

FSCIni got new options. Check out the constructor or the SetOptions Method

2.1.0

What's new?

  • Now ini files get delivered as a string.
    • That makes it possible to files in your own choice of encoding and you can add ini content into your source code.
  • The code is easier to use.
  • The script is shorter.
  • Upgrade to .Net6. + (Since 2.1.1 more targets supported)
  • Key value pairs (without section) will now be added to section [NULL]

How to use?

  1. Create an ini string by reading a file or write it directly into the source code.
  2. Create an instance of FSCIni with the ini parameter
using FSC_IniReader;

var content = "..."; // <- Ini file content

var ini = new FSCIni(content);
or
var ini = new FSCIni(content, new FSCIniOptions());
  1. Access the ini sections
ini["Section1"]
  1. Access the keys to get the values
ini["Section1"]["Key1"]

Methods:

Section:
FSCIniSection Add(string section);
bool Delete(string section);
bool HasSection(string section);
List<FSCIniSection> GetAllSections();
string ToString()
string ToString(bool minify);

KeyValues:
FSCIniKey Add(string key, string value);
bool Delete(string key);
bool HasKey(string key);
List<FSCIniKey> GetAllKeys();

FSCIniOptions contains some extended customize possibilities.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  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 is compatible.  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. 
.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 net46 is compatible.  net461 was computed.  net462 was computed.  net463 was computed.  net47 is compatible.  net471 was computed.  net472 was computed.  net48 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.6

    • No dependencies.
  • .NETFramework 4.7

    • No dependencies.
  • .NETFramework 4.8

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.
  • net5.0

    • No dependencies.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.

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
2.2.0 440 12/4/2022
2.1.1 445 9/15/2022
2.1.0 414 8/26/2022
2.0.0 414 8/14/2022
1.1.0 539 12/13/2021
1.0.1 585 10/22/2021
1.0.0 569 10/18/2021

Updated TargetFrameworks
New Class
New Methods
New Namespace
-> A full remake with impovements