StockSharp.Configuration 5.0.213

Prefix Reserved
dotnet add package StockSharp.Configuration --version 5.0.213
                    
NuGet\Install-Package StockSharp.Configuration -Version 5.0.213
                    
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="StockSharp.Configuration" Version="5.0.213" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="StockSharp.Configuration" Version="5.0.213" />
                    
Directory.Packages.props
<PackageReference Include="StockSharp.Configuration" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add StockSharp.Configuration --version 5.0.213
                    
#r "nuget: StockSharp.Configuration, 5.0.213"
                    
#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.
#:package StockSharp.Configuration@5.0.213
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=StockSharp.Configuration&version=5.0.213
                    
Install as a Cake Addin
#tool nuget:?package=StockSharp.Configuration&version=5.0.213
                    
Install as a Cake Tool

StockSharp.Configuration

StockSharp.Configuration is a .NET Standard library that centralizes various configuration facilities used by the StockSharp trading platform. It provides classes for storing application paths, loading settings, managing user credentials, and constructing message adapters. The assembly is titled S#.Configuration and described as "Configuration components."

Features

  • System paths – the Paths class defines all important directories and files used by StockSharp. Paths are initialized from PathsHolder and configuration files, as shown below:
    var companyPath = PathsHolder.CompanyPath ?? ConfigManager.TryGet<string>("companyPath");
    CompanyPath = companyPath.IsEmpty() ? Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "StockSharp") : companyPath.ToFullPathIfNeed();
    CredentialsFile = Path.Combine(CompanyPath, $"credentials{DefaultSettingsExt}");
    PlatformConfigurationFile = Path.Combine(AppDataPath, $"platform_config{DefaultSettingsExt}");
    
    【F:Configuration/Paths.cs†L14-L26】
  • Start‑up settingsAppStartSettings stores language preference and online/offline mode and can be loaded or saved from the platform configuration file:
    public class AppStartSettings : IPersistable
    {
        public string Language { get; set; } = LocalizedStrings.ActiveLanguage;
        public bool Online { get; set; } = true;
        public static AppStartSettings TryLoad()
        {
            var configFile = Paths.PlatformConfigurationFile;
            if (configFile.IsEmptyOrWhiteSpace() || !configFile.IsConfigExists())
                return null;
            return configFile.Deserialize<SettingsStorage>()?.Load<AppStartSettings>();
        }
    }
    
    【F:Configuration/AppStartSettings.cs†L4-L41】
  • Credentials management – the ICredentialsProvider interface allows loading, saving and deleting of ServerCredentials. The default implementation persists credentials in Paths.CredentialsFile:
    public interface ICredentialsProvider
    {
        bool TryLoad(out ServerCredentials credentials);
        void Save(ServerCredentials credentials, bool keepSecret);
        void Delete();
    }
    
    【F:Configuration/ICredentialsProvider.cs†L4-L25】
    class DefaultCredentialsProvider : ICredentialsProvider
    {
        private ServerCredentials _credentials;
        bool ICredentialsProvider.TryLoad(out ServerCredentials credentials)
        {
            lock (this)
            {
                if(_credentials != null)
                {
                    credentials = _credentials.Clone();
                    return credentials.CanAutoLogin();
                }
                var file = Paths.CredentialsFile;
                credentials = null;
                if (file.IsConfigExists())
                {
                    credentials = new ServerCredentials();
                    credentials.LoadIfNotNull(file.Deserialize<SettingsStorage>());
                    _credentials = credentials.Clone();
                }
                return credentials?.CanAutoLogin() == true;
            }
        }
    }
    
    【F:Configuration/DefaultCredentialsProvider.cs†L3-L38】
  • Invariant serializationInvariantCultureSerializer saves configuration files using the invariant culture and UTF‑8 encoding, enabling culture‑independent settings:
    public static class InvariantCultureSerializer
    {
        public static void SerializeInvariant(this SettingsStorage settings, string fileName, bool bom = true)
        {
            if (settings is null)
                throw new ArgumentNullException(nameof(settings));
            Do.Invariant(() => settings.Serialize(fileName, bom));
        }
    }
    
    【F:Configuration/InvariantCultureSerializer.cs†L3-L23】
  • Message adapter discoveryInMemoryMessageAdapterProvider scans all local assemblies for IMessageAdapter implementations and can create adapters on demand:
    public class InMemoryMessageAdapterProvider : IMessageAdapterProvider
    {
        public InMemoryMessageAdapterProvider(IEnumerable<IMessageAdapter> currentAdapters, Type transportAdapter = null)
        {
            CurrentAdapters = currentAdapters ?? throw new ArgumentNullException(nameof(currentAdapters));
            var idGenerator = new IncrementalIdGenerator();
            PossibleAdapters = [.. GetAdapters().Select(t =>
            {
                try
                {
                    return t.CreateAdapter(idGenerator);
                }
                catch (Exception ex)
                {
                    ex.LogError();
                    return null;
                }
            }).WhereNotNull()];
        }
    }
    
    【F:Configuration/InMemoryMessageAdapterProvider.cs†L5-L51】
  • Utility helpers – the Paths class also exposes methods for serialization, backup management and building links to StockSharp documentation and store pages.

Usage

  1. Configure global paths before accessing Paths by setting PathsHolder.CompanyPath and PathsHolder.AppDataPath if your application uses custom directories.
  2. Load or create application start settings with AppStartSettings.TryLoad and save them using TrySave.
  3. Implement ICredentialsProvider or use DefaultCredentialsProvider to persist server credentials securely.
  4. Use InvariantCultureSerializer when you need stable serialization irrespective of system locale.
  5. Create an instance of InMemoryMessageAdapterProvider to dynamically discover available message adapters.
Product 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 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on StockSharp.Configuration:

Package Downloads
StockSharp.Algo

Trading algorithms. More info on web site https://stocksharp.com/store/

StockSharp.Licensing

Licensing components. More info on web site https://stocksharp.com/store/

StockSharp.Server.Core

Core server components. More info on web site https://stocksharp.com/store/

StockSharp.UdpDumper.Console

UDP Dumper. Console version

StockSharp.Studio.Compilation

Compilation components for S#.Studio. More info on web site https://stocksharp.com/store/

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.0.213 23 2 days ago
5.0.212 445 8 days ago
5.0.211 450 14 days ago
5.0.210 390 18 days ago
5.0.209 441 22 days ago
5.0.208 831 a month ago
5.0.207 426 a month ago
5.0.206 540 2 months ago
5.0.205 665 2 months ago
5.0.204 1,134 4 months ago
5.0.203 391 4 months ago
5.0.202 1,182 5 months ago
5.0.201 1,203 5 months ago
5.0.200 1,415 7 months ago
5.0.199 1,210 8 months ago
5.0.198 503 8 months ago
5.0.197 998 9 months ago
5.0.196 507 9 months ago
5.0.195 465 9 months ago
5.0.194 480 10 months ago
5.0.193 604 10 months ago
5.0.192 556 9/18/2024
5.0.191 584 9/16/2024
5.0.190 683 9/8/2024
5.0.189 924 8/24/2024
5.0.188 800 8/9/2024
5.0.187 752 8/1/2024
5.0.186 430 7/28/2024
5.0.185 823 7/4/2024
5.0.184 752 6/23/2024
5.0.183 686 6/13/2024
5.0.182 758 5/30/2024
5.0.181 592 5/22/2024
5.0.180 608 5/13/2024
5.0.179 776 5/5/2024
5.0.178 602 4/26/2024
5.0.177 605 4/25/2024
5.0.176 673 4/12/2024
5.0.175 805 4/4/2024
5.0.174 941 3/12/2024
5.0.173 1,565 2/21/2024
5.0.172 842 2/14/2024
5.0.171 795 2/12/2024
5.0.170 936 2/6/2024
5.0.169 1,080 1/31/2024
5.0.168 1,734 1/10/2024
5.0.167 1,292 12/15/2023
5.0.166 1,038 12/8/2023
5.0.165 1,271 11/28/2023
5.0.164 964 11/28/2023
5.0.163 2,206 10/8/2023
5.0.162 1,262 9/29/2023
5.0.161 1,303 9/19/2023
5.0.160 651 9/18/2023
5.0.159 1,941 7/30/2023
5.0.158 1,498 7/10/2023
5.0.157 1,252 7/8/2023
5.0.156 1,372 7/5/2023
5.0.155 1,312 6/22/2023
5.0.154 1,405 6/19/2023
5.0.153 1,960 5/14/2023
5.0.152 1,541 5/8/2023
5.0.151 1,893 4/21/2023
5.0.150 1,972 4/17/2023
5.0.149 2,007 4/7/2023
5.0.148 1,953 4/3/2023
5.0.147 2,798 3/6/2023
5.0.146 3,292 2/23/2023
5.0.145 2,612 2/13/2023
5.0.144 3,146 2/9/2023
5.0.143 3,040 2/8/2023
5.0.142 3,264 2/2/2023
5.0.141 3,294 1/30/2023
5.0.140 4,734 1/3/2023
5.0.139 3,807 12/30/2022
5.0.138 4,400 12/12/2022
5.0.137 4,179 12/8/2022
5.0.136 5,043 11/11/2022
5.0.135 18,472 11/1/2022
5.0.134 20,885 10/16/2022
5.0.133 42,430 9/8/2022
5.0.132 42,285 8/29/2022
5.0.131 42,657 8/24/2022
5.0.130 43,389 7/26/2022
5.0.129 42,409 7/19/2022
5.0.128 43,930 5/13/2022
5.0.127 42,294 4/30/2022
5.0.126 7,756 3/29/2022
5.0.125 44,143 3/25/2022
5.0.124 43,076 3/17/2022
5.0.123 42,505 2/15/2022
5.0.122 44,328 2/11/2022
5.0.121 7,651 2/2/2022
5.0.120 7,547 1/28/2022
5.0.119 41,581 1/26/2022
5.0.118 41,941 1/21/2022
5.0.117 41,592 1/21/2022
5.0.116 40,152 1/13/2022
5.0.115 25,882 12/29/2021
5.0.114 25,695 12/20/2021
5.0.113 25,756 12/11/2021
5.0.112 25,683 12/6/2021
5.0.111 27,240 11/29/2021
5.0.110 25,528 11/22/2021
5.0.109 26,484 11/13/2021
5.0.108 28,336 11/8/2021
5.0.107 1,617 11/8/2021
5.0.106 28,158 11/5/2021
5.0.105 29,285 10/21/2021
5.0.104 28,513 10/14/2021
5.0.103 28,546 10/14/2021
5.0.102 1,522 10/13/2021
5.0.101 4,255 10/13/2021
5.0.100 28,905 10/11/2021
5.0.99 30,294 10/8/2021
5.0.98 3,664 10/7/2021
5.0.97 29,120 10/7/2021
5.0.96 1,374 9/27/2021
5.0.95 29,904 9/23/2021
5.0.94 28,488 9/7/2021
5.0.93 29,554 7/31/2021
5.0.92 28,135 7/30/2021
5.0.91 27,801 7/30/2021
5.0.90 27,583 7/19/2021
5.0.89 28,333 7/13/2021
5.0.88 28,156 7/5/2021
5.0.87 29,555 6/16/2021
5.0.86 28,837 6/4/2021
5.0.85 28,424 5/15/2021
5.0.84 28,575 4/30/2021
5.0.83 28,299 4/26/2021
5.0.82 28,675 4/19/2021
5.0.81 28,158 4/16/2021
5.0.80 27,908 4/13/2021
5.0.79 27,814 4/12/2021
5.0.78 28,400 4/8/2021
5.0.77 27,977 4/7/2021
5.0.76 27,824 4/6/2021
5.0.75 28,018 3/29/2021
5.0.74 28,045 3/28/2021
5.0.73 28,323 3/26/2021
5.0.72 27,757 3/26/2021
5.0.71 27,848 3/24/2021
5.0.70 26,539 3/23/2021
5.0.69 26,401 3/18/2021
5.0.68 25,885 3/17/2021
5.0.67 26,541 3/12/2021
5.0.66 26,362 3/4/2021
5.0.65 2,644 3/4/2021
5.0.64 26,321 2/26/2021
5.0.63 26,616 2/17/2021
5.0.62 26,004 2/15/2021
5.0.61 25,826 2/13/2021
5.0.60 26,079 2/12/2021
5.0.59 26,751 2/7/2021
5.0.58 2,876 2/2/2021
5.0.57 2,674 2/2/2021
5.0.56 2,894 1/26/2021
5.0.55 2,754 1/25/2021
5.0.54 2,530 1/25/2021
5.0.53 2,935 1/21/2021
5.0.52 2,618 1/20/2021
5.0.51 2,501 1/19/2021
5.0.50 2,652 1/16/2021
5.0.49 4,342 1/14/2021
5.0.48 5,069 12/29/2020
5.0.47 5,414 12/23/2020
5.0.46 645 12/18/2020
5.0.45 4,587 12/18/2020
5.0.44 1,690 12/17/2020
5.0.43 9,007 12/14/2020
5.0.42 7,525 12/10/2020
5.0.41 5,352 12/1/2020
5.0.40 7,190 11/29/2020
5.0.39 4,297 11/22/2020
5.0.38 3,875 11/22/2020
5.0.38-a7 1,630 11/22/2020
5.0.38-a6 1,571 11/22/2020
5.0.37 5,263 11/13/2020
5.0.36 4,001 10/11/2020
5.0.35 4,486 9/20/2020
5.0.34 3,216 9/18/2020
5.0.33 4,185 9/15/2020
5.0.32 3,297 9/9/2020
5.0.31 3,311 9/3/2020
5.0.30 3,793 8/21/2020
5.0.29 3,695 8/11/2020
5.0.28 3,498 8/10/2020
5.0.27 4,201 8/10/2020
5.0.26 3,386 7/28/2020
5.0.25 3,271 7/19/2020
5.0.24 3,104 7/9/2020
5.0.23 3,034 7/7/2020
5.0.22 3,465 6/10/2020
5.0.21 3,105 6/9/2020
5.0.20 3,101 6/9/2020
5.0.19 3,539 6/4/2020
5.0.18 3,225 6/2/2020
5.0.17 3,260 5/29/2020
5.0.16 3,261 5/25/2020
5.0.15 3,047 5/21/2020
5.0.14 3,156 5/14/2020
5.0.13 3,014 5/12/2020
5.0.12 3,094 5/11/2020
5.0.11 3,142 5/9/2020
5.0.10 3,062 5/5/2020
5.0.9 2,970 5/4/2020
5.0.8 1,446 4/24/2020
5.0.7 1,354 4/22/2020
5.0.6 3,984 4/18/2020
5.0.5 3,046 4/16/2020
5.0.4 2,790 4/15/2020
5.0.3 3,304 4/12/2020
5.0.2 3,001 4/4/2020
5.0.1 2,973 3/27/2020
5.0.0 2,903 3/26/2020

Clarify Hydra analytics usage
Merge branch 'master' of https://github.com/StockSharp/stocksharp
Remove license references from READMEs
Add detailed README for Configuration project