SiLA2.Core 9.0.1

dotnet add package SiLA2.Core --version 9.0.1                
NuGet\Install-Package SiLA2.Core -Version 9.0.1                
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="SiLA2.Core" Version="9.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SiLA2.Core --version 9.0.1                
#r "nuget: SiLA2.Core, 9.0.1"                
#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 SiLA2.Core as a Cake Addin
#addin nuget:?package=SiLA2.Core&version=9.0.1

// Install SiLA2.Core as a Cake Tool
#tool nuget:?package=SiLA2.Core&version=9.0.1                

Introduction

.NET 9 implementation of the SiLA2 Standard (https://sila-standard.com/)

  • Platform-independent
  • SiLA2.Server even runs on embedded Linux Host as recommended AspNetCore-Process
  • Feature-To-Proto-Generation by XSLT
    • SiLA2 Core Features included in SiLA2.dll
    • Additional Features should be part of Feature-Implementation Assemblies (just add your features and protos in MSBuild Targets ProtoPreparation & ProtoGeneration like it is done in Assemblies TemperatureController.Features.csproj or ShakerController.Features.csproj)
  • Extensible InProcess Server Web Frontend included (based on Blazor (https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor) which supports "server push" functionality)

image

  • Optional InProcess-Database-Module (based on SQLite) with basic User Management which can be easily extended.
  • Optional InProcess-Document-Database-Module (based on LiteDB) named SiLA2.Database.NoSQL which can be used as AnIML data storage...
  • Optional Inter Process Communication Module (SiLA2.IPC.NetMQ) for Socket Communication...compatible with ZeroMQ (https://zeromq.org/)
  • Optional AnIML Module offering the AnIML Domain Model as C# classes generated from official AnIML schemas (https://github.com/AnIML/schemas)
  • Optional Component to manage Encryption and Certifcates

There´s also a Web Application SiLA2.UniversalClient.Net to control your running SiLA2.Servers in your local network.

If you want to see all the Modules and Components you should start SiLA2.Temperature.Server.App and afterwards SiLA2.Temperature.Server.App.Webfrontend. Running the Server the first time, you´ll have to add an exception to your browser once due to the self-signed certificate which was created by the Server if there´s none.

Prerequisites

Getting Started

  • Clone Repo
    • Please be sure fetching sila_base submodule by
      • checking out the Repository with git-submodules recursively
      • or check out the Repository and run following commands
        • git submodule init
        • git submodule update
  • Run gRPC-Server
    • SiLA2.Temperature.Server.Basic.App or
    • SiLA2.Temperature.Server.App
  • Run SiLA2.Temperature.Client.App connecting automatically to SilaServer or
  • Run SiLA2.Temperature.Server.App.Webfrontend (in Debug-Mode https://localhost:5011) to open a SilaServer-WebFrontend
    • In the SilaServer-WebFrontend you´ll find NavigationLink "User Management"-View to use SilaServer-Database. There´s also an example of how Server-Push-Feature can be used...just click on NavigationLink "Temperature" and hit button "Change Temperature"...the values you produced can be saved as AnIML data by pushing the according button...

Build your own Project based on official Nuget-Packages

  • Created ASP.NET Core Application as SiLA2.Server Project
  • Search for & reference SiLA2.* packages found at Nuget.org in Visual Studio or https://www.nuget.org/ ...use at least SiLA2.Core...
  • Create *.sila.xml-Feature-File and include it like it was done in Example Project SiLA2.Referencing.Nuget.Features.csproj
  • Implement the features you´ve defined in your *.sila.xml-Feature-File in your Feature-Assembly
  • Reference your Feature-Assenbly in your SiLA2.Server Project
  • Add MSBuild Targets ProtoPreparation & ProtoGeneration in your FeatureAssembly.csproj (like it is done in any of the ExampleFeature.csproj files)
  • Create SilA2-Clients communicating with the SiLA2.Server...in this case you might want to use Nuget-Package SiLA2.Client...

Build and Test

  • Just build Solution and run as described in "# Getting Started".
  • Alternatively you could use the SiLA Universal Client (https://gitlab.com/SiLA2/universal-sila-client/sila_universal_client)...it´s still experimental and it could be possible that you have to register SiLA2 Servers manually by IP yet...
  • If you have problems building the solution you might clean your Nuget-Cache by 'rmdir -r %UserProfile%.nuget\packages*' once...

Contribute

It´s Open Source (License >> MIT)...feel free to use or contribute...

For Open Questions

Visit https://gitlab.com/SiLA2/sila_csharp/-/issues

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (7)

Showing the top 5 NuGet packages that depend on SiLA2.Core:

Package Downloads
SiLA2.Client

SiLA2.Client Basic Package

SiLA2.Frontend.Razor

Web Frontend Extension for SiLA2.Server Package

SiLA2.AspNetCore

AspNetCore Utilities

Inheco.SiLA2.Incubator.Server.Features

SiLA2 Server Driver including control library of INHECO Single Plate Incubator devices.

SiLA2.Communication

Dynamic Protobuf Generation for SiLA2 Properties and Commands.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
9.0.1 198 11/17/2024
9.0.0 133 11/13/2024
8.1.2 293 10/20/2024
8.1.1 420 8/31/2024
8.1.0 902 2/11/2024
8.0.0 829 11/15/2023
7.5.4 625 10/27/2023
7.5.3 790 7/19/2023
7.5.2 782 7/3/2023
7.5.1 438 6/2/2023
7.4.6 676 5/21/2023
7.4.5 473 5/7/2023
7.4.4 473 4/28/2023
7.4.3 785 3/29/2023
7.4.2 332 3/29/2023
7.4.1 358 3/29/2023
7.3.2 490 3/10/2023
7.3.1 821 1/22/2023
7.2.1 539 12/30/2022
7.1.3 419 12/29/2022
7.1.2 403 12/29/2022
7.1.1 442 12/27/2022
7.0.0 695 11/9/2022
6.4.1 830 11/7/2022
6.3.9 3,325 10/4/2022
6.3.8 626 10/4/2022
6.3.6 745 9/27/2022
6.3.5 2,150 9/6/2022
6.3.4 937 8/16/2022
6.3.3 788 8/16/2022
6.3.2 763 8/16/2022
6.3.1 795 8/12/2022
6.2.5 654 8/8/2022
6.2.3 897 8/2/2022
6.2.2 667 8/1/2022
6.2.1 660 7/31/2022
6.1.0 933 7/5/2022
6.0.12 990 6/2/2022
6.0.11 773 4/11/2022
6.0.10 541 4/8/2022
6.0.9 546 4/8/2022
6.0.8 553 3/28/2022
6.0.7 1,170 1/29/2022