From e30e9718229dd1cc81980e6abb1255793291c23e Mon Sep 17 00:00:00 2001 From: Patrick Ritchie Date: Fri, 26 Jun 2026 11:33:44 -0400 Subject: [PATCH 1/3] Updated README files - Updated to use new logo file path - Updated repo ReadMe with documentation site link --- README.md | 37 ++++++++++--------- adapter/MTConnect.NET-Adapter/README.md | 2 +- .../README.md | 2 +- .../README-Nuget.md | 2 +- .../README.md | 2 +- .../README-Nuget.md | 2 +- .../README.md | 2 +- agent/MTConnect.NET-Agent/README.md | 2 +- .../README.md | 2 +- .../README-Nuget.md | 2 +- .../README.md | 2 +- .../README-Nuget.md | 2 +- .../README.md | 2 +- .../README-Nuget.md | 2 +- .../README.md | 2 +- .../README-Nuget.md | 2 +- .../README.md | 2 +- .../README-Nuget.md | 2 +- .../README.md | 2 +- .../README-Nuget.md | 2 +- .../README.md | 2 +- .../README-Nuget.md | 2 +- .../README.md | 2 +- .../MTConnect.NET-Common/README-Nuget.md | 2 +- libraries/MTConnect.NET-Common/README.md | 2 +- .../README-Nuget.md | 2 +- .../MTConnect.NET-DeviceFinder/README.md | 2 +- libraries/MTConnect.NET-HTTP/README-Nuget.md | 2 +- libraries/MTConnect.NET-HTTP/README.md | 2 +- .../README-Nuget.md | 2 +- .../MTConnect.NET-JSON-cppagent/README.md | 2 +- libraries/MTConnect.NET-JSON/README-Nuget.md | 2 +- libraries/MTConnect.NET-JSON/README.md | 2 +- libraries/MTConnect.NET-MQTT/README-Nuget.md | 2 +- libraries/MTConnect.NET-MQTT/README.md | 2 +- libraries/MTConnect.NET-Protobuf/README.md | 2 +- libraries/MTConnect.NET-SHDR/README-Nuget.md | 2 +- libraries/MTConnect.NET-SHDR/README.md | 2 +- .../MTConnect.NET-Services/README-Nuget.md | 2 +- libraries/MTConnect.NET-Services/README.md | 2 +- libraries/MTConnect.NET-SysML/README-Nuget.md | 2 +- libraries/MTConnect.NET-SysML/README.md | 2 +- libraries/MTConnect.NET-TLS/README-Nuget.md | 2 +- libraries/MTConnect.NET-TLS/README.md | 2 +- libraries/MTConnect.NET-XML/README-Nuget.md | 2 +- libraries/MTConnect.NET-XML/README.md | 2 +- libraries/MTConnect.NET/README-Nuget.md | 2 +- libraries/MTConnect.NET/README.md | 2 +- 48 files changed, 66 insertions(+), 65 deletions(-) diff --git a/README.md b/README.md index f89680129..8bd2143a4 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET +[View Documentation Site](https://trakhound.github.io/MTConnect.NET/) ## Download @@ -34,23 +35,6 @@
-## Documentation - -The full documentation site is built with VitePress under [`docs/`](docs/) and published to GitHub Pages. The source lives in this repository so every change rides the same review process as the libraries. - -- **Getting started**, **Configure & Use**, **Concepts**, **Wire formats**, **Modules**, **CLI**, **Cookbook**, and **Troubleshooting** narrative pages sit under [`docs/`](docs/). -- The **API reference** is generated by [docfx](https://dotnet.github.io/docfx/) from the Release `net8.0` build of every shipped library. Regenerate locally with `bash docs/scripts/generate-api-ref.sh`; the same script runs in CI ahead of every VitePress build. -- **Compliance** posture and per-version compatibility matrices sit under [`docs/compliance/`](docs/compliance/). - -Build the site locally: - -```bash -cd docs -npm install -npm run build # outputs to docs/.vitepress/dist -npm run dev # local dev server with hot reload -``` - ## Overview MTConnect.NET is a fully featured and fully Open Source **[.NET](https://dotnet.microsoft.com/)** library for **[MTConnect](https://www.mtconnect.org/)** to develop Agents, Adapters, and Clients. Supports MTConnect versions up to 2.7. A pre-compiled Agent application is available to download as well as an Adapter application that can be easily customized. @@ -151,6 +135,23 @@ A preconfigured [Application](https://github.com/TrakHound/MTConnect.NET/tree/ma - [ShdrQueueAdapter](https://github.com/TrakHound/MTConnect.NET/blob/master/libraries/MTConnect.NET-SHDR/Adapters/ShdrQueueAdapter.cs) : Queues all values that are sent from the PLC and sends them all on demand using the SendBuffer() method. This is used when all values are needed and full control of the communication is needed. - [ShdrIntervalQueueAdapter](https://github.com/TrakHound/MTConnect.NET/blob/master/libraries/MTConnect.NET-SHDR/Adapters/ShdrIntervalQueueAdapter.cs) : Queues all values that are sent from the PLC and sends any queued values at the specified Interval. This is used when all values are needed but an interval is adequate. +## Documentation Site + +The full documentation site is built with VitePress under [`docs/`](docs/) and published to GitHub Pages. The source lives in this repository so every change rides the same review process as the libraries. + +- **Getting started**, **Configure & Use**, **Concepts**, **Wire formats**, **Modules**, **CLI**, **Cookbook**, and **Troubleshooting** narrative pages sit under [`docs/`](docs/). +- The **API reference** is generated by [docfx](https://dotnet.github.io/docfx/) from the Release `net8.0` build of every shipped library. Regenerate locally with `bash docs/scripts/generate-api-ref.sh`; the same script runs in CI ahead of every VitePress build. +- **Compliance** posture and per-version compatibility matrices sit under [`docs/compliance/`](docs/compliance/). + +Build the site locally: + +```bash +cd docs +npm install +npm run build # outputs to docs/.vitepress/dist +npm run dev # local dev server with hot reload +``` + ## Nuget Packages The Nuget packages for the libraries in this repo are listed below: diff --git a/adapter/MTConnect.NET-Adapter/README.md b/adapter/MTConnect.NET-Adapter/README.md index 99009178e..a4cb10653 100644 --- a/adapter/MTConnect.NET-Adapter/README.md +++ b/adapter/MTConnect.NET-Adapter/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET Adapter diff --git a/adapter/MTConnect.NET-Applications-Adapter/README.md b/adapter/MTConnect.NET-Applications-Adapter/README.md index 9a1d29501..200c56747 100644 --- a/adapter/MTConnect.NET-Applications-Adapter/README.md +++ b/adapter/MTConnect.NET-Applications-Adapter/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-Applications-Adapter MTConnect.NET-Applications-Adapter contains the base classes and infrastructure needed to build a fully featured MTConnect Adapter application, including command-line argument handling, Windows Service support, configuration file monitoring, and output module management. diff --git a/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/README-Nuget.md b/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/README-Nuget.md index afaaa8890..23c988089 100644 --- a/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/README-Nuget.md +++ b/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect MQTT Adapter Module This Adapter Module sends input data to an MQTT Broker that can be read by an MTConnect Agent diff --git a/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/README.md b/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/README.md index 2a345913b..7bffc89ec 100644 --- a/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/README.md +++ b/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect MQTT Adapter Module This Adapter Module sends input data to an MQTT Broker that can be read by an MTConnect Agent diff --git a/adapter/Modules/MTConnect.NET-AdapterModule-SHDR/README-Nuget.md b/adapter/Modules/MTConnect.NET-AdapterModule-SHDR/README-Nuget.md index f38f561ce..13774c284 100644 --- a/adapter/Modules/MTConnect.NET-AdapterModule-SHDR/README-Nuget.md +++ b/adapter/Modules/MTConnect.NET-AdapterModule-SHDR/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect SHDR Adapter Module This Adapter Module implements the SHDR Protocol to send data to an MTConnect Agent diff --git a/adapter/Modules/MTConnect.NET-AdapterModule-SHDR/README.md b/adapter/Modules/MTConnect.NET-AdapterModule-SHDR/README.md index 06d93209f..fda38b7ad 100644 --- a/adapter/Modules/MTConnect.NET-AdapterModule-SHDR/README.md +++ b/adapter/Modules/MTConnect.NET-AdapterModule-SHDR/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect SHDR Adapter Module This Adapter Module implements the SHDR Protocol to send data to an MTConnect Agent diff --git a/agent/MTConnect.NET-Agent/README.md b/agent/MTConnect.NET-Agent/README.md index e04f1ddb7..1b073fbbc 100644 --- a/agent/MTConnect.NET-Agent/README.md +++ b/agent/MTConnect.NET-Agent/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect Agent diff --git a/agent/MTConnect.NET-Applications-Agents/README.md b/agent/MTConnect.NET-Applications-Agents/README.md index e723b6001..7b8188227 100644 --- a/agent/MTConnect.NET-Applications-Agents/README.md +++ b/agent/MTConnect.NET-Applications-Agents/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-Applications-Agents MTConnect.NET-Applications-Agents contains the base classes and infrastructure needed to build a fully featured MTConnect Agent application, including command-line argument handling, Windows Service support, device and buffer management, configuration file monitoring, and agent module loading. diff --git a/agent/Modules/MTConnect.NET-AgentModule-HttpAdapter/README-Nuget.md b/agent/Modules/MTConnect.NET-AgentModule-HttpAdapter/README-Nuget.md index 4477e3984..e6224aeb5 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-HttpAdapter/README-Nuget.md +++ b/agent/Modules/MTConnect.NET-AgentModule-HttpAdapter/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect HTTP Adapter Agent Module This Agent Module implements an adapter to read from other MTConnect Agents using the MTConnect REST Protocol diff --git a/agent/Modules/MTConnect.NET-AgentModule-HttpAdapter/README.md b/agent/Modules/MTConnect.NET-AgentModule-HttpAdapter/README.md index a17ed3f16..4d514b468 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-HttpAdapter/README.md +++ b/agent/Modules/MTConnect.NET-AgentModule-HttpAdapter/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect HTTP Adapter Agent Module This Agent Module implements an adapter to read from other MTConnect Agents using the MTConnect REST Protocol diff --git a/agent/Modules/MTConnect.NET-AgentModule-HttpServer/README-Nuget.md b/agent/Modules/MTConnect.NET-AgentModule-HttpServer/README-Nuget.md index d24d1b847..4efd77330 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-HttpServer/README-Nuget.md +++ b/agent/Modules/MTConnect.NET-AgentModule-HttpServer/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect HTTP Server Agent Module This Agent Module implements a MTConnect REST Protocol Http server diff --git a/agent/Modules/MTConnect.NET-AgentModule-HttpServer/README.md b/agent/Modules/MTConnect.NET-AgentModule-HttpServer/README.md index a85148d71..8466a764e 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-HttpServer/README.md +++ b/agent/Modules/MTConnect.NET-AgentModule-HttpServer/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect HTTP Server Agent Module This Agent Module implements a MTConnect REST Protocol Http server diff --git a/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/README-Nuget.md b/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/README-Nuget.md index 20a541be6..b891b073b 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/README-Nuget.md +++ b/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect MQTT Adapter Agent Module This Agent Module implements an adapter to read from an MQTT broker diff --git a/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/README.md b/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/README.md index da3568c45..66bc3e05b 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/README.md +++ b/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect MQTT Adapter Agent Module This Agent Module implements an adapter to read from an MQTT broker diff --git a/agent/Modules/MTConnect.NET-AgentModule-MqttBroker/README-Nuget.md b/agent/Modules/MTConnect.NET-AgentModule-MqttBroker/README-Nuget.md index 9d4796f53..da785e51b 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-MqttBroker/README-Nuget.md +++ b/agent/Modules/MTConnect.NET-AgentModule-MqttBroker/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect MQTT Broker Module This Agent Module serves data via an **Internal** MQTT Broker diff --git a/agent/Modules/MTConnect.NET-AgentModule-MqttBroker/README.md b/agent/Modules/MTConnect.NET-AgentModule-MqttBroker/README.md index ce5c75a20..a70e4b238 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-MqttBroker/README.md +++ b/agent/Modules/MTConnect.NET-AgentModule-MqttBroker/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect MQTT Broker Module This Agent Module serves data via an **Internal** MQTT Broker diff --git a/agent/Modules/MTConnect.NET-AgentModule-MqttRelay/README-Nuget.md b/agent/Modules/MTConnect.NET-AgentModule-MqttRelay/README-Nuget.md index 688bb08b6..b8427af18 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-MqttRelay/README-Nuget.md +++ b/agent/Modules/MTConnect.NET-AgentModule-MqttRelay/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect MQTT Relay Module This Agent Module writes data to an **External** MQTT Broker diff --git a/agent/Modules/MTConnect.NET-AgentModule-MqttRelay/README.md b/agent/Modules/MTConnect.NET-AgentModule-MqttRelay/README.md index 16d7861d8..993192632 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-MqttRelay/README.md +++ b/agent/Modules/MTConnect.NET-AgentModule-MqttRelay/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect MQTT Relay Module This Agent Module writes data to an **External** MQTT Broker diff --git a/agent/Modules/MTConnect.NET-AgentModule-ShdrAdapter/README-Nuget.md b/agent/Modules/MTConnect.NET-AgentModule-ShdrAdapter/README-Nuget.md index c292ff34a..c8a7e6ed6 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-ShdrAdapter/README-Nuget.md +++ b/agent/Modules/MTConnect.NET-AgentModule-ShdrAdapter/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect SHDR Adapter Agent Module This Agent Module implements the MTConnect REST Protocol diff --git a/agent/Modules/MTConnect.NET-AgentModule-ShdrAdapter/README.md b/agent/Modules/MTConnect.NET-AgentModule-ShdrAdapter/README.md index fd4fb3cb2..9c6da0dc7 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-ShdrAdapter/README.md +++ b/agent/Modules/MTConnect.NET-AgentModule-ShdrAdapter/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect SHDR Adapter Agent Module This Agent Module implements the MTConnect REST Protocol diff --git a/agent/Processors/MTConnect.NET-AgentProcessor-Python/README-Nuget.md b/agent/Processors/MTConnect.NET-AgentProcessor-Python/README-Nuget.md index 36f44fac9..3d308c375 100644 --- a/agent/Processors/MTConnect.NET-AgentProcessor-Python/README-Nuget.md +++ b/agent/Processors/MTConnect.NET-AgentProcessor-Python/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect Python Agent Processor This Agent Processor uses individual Python script files to transform input data diff --git a/agent/Processors/MTConnect.NET-AgentProcessor-Python/README.md b/agent/Processors/MTConnect.NET-AgentProcessor-Python/README.md index 50c6a8e47..309c3c2f3 100644 --- a/agent/Processors/MTConnect.NET-AgentProcessor-Python/README.md +++ b/agent/Processors/MTConnect.NET-AgentProcessor-Python/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect Python Agent Processor This Agent Processor uses individual Python script files to transform input data diff --git a/libraries/MTConnect.NET-Common/README-Nuget.md b/libraries/MTConnect.NET-Common/README-Nuget.md index 2ffcb30c9..2d2a8d348 100644 --- a/libraries/MTConnect.NET-Common/README-Nuget.md +++ b/libraries/MTConnect.NET-Common/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-Common This libary project contains the basic classes for implementing MTConnect diff --git a/libraries/MTConnect.NET-Common/README.md b/libraries/MTConnect.NET-Common/README.md index 3317b1b9c..eb4e2bdad 100644 --- a/libraries/MTConnect.NET-Common/README.md +++ b/libraries/MTConnect.NET-Common/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-Common This libary project contains the basic classes for implementing MTConnect. diff --git a/libraries/MTConnect.NET-DeviceFinder/README-Nuget.md b/libraries/MTConnect.NET-DeviceFinder/README-Nuget.md index 8d4692542..a3d05c86f 100644 --- a/libraries/MTConnect.NET-DeviceFinder/README-Nuget.md +++ b/libraries/MTConnect.NET-DeviceFinder/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # DeviceFinder diff --git a/libraries/MTConnect.NET-DeviceFinder/README.md b/libraries/MTConnect.NET-DeviceFinder/README.md index 82899be22..d137cafbe 100644 --- a/libraries/MTConnect.NET-DeviceFinder/README.md +++ b/libraries/MTConnect.NET-DeviceFinder/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # DeviceFinder diff --git a/libraries/MTConnect.NET-HTTP/README-Nuget.md b/libraries/MTConnect.NET-HTTP/README-Nuget.md index 0d8e4fcf2..a0f3cd6c5 100644 --- a/libraries/MTConnect.NET-HTTP/README-Nuget.md +++ b/libraries/MTConnect.NET-HTTP/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-HTTP Classes to implement HTTP Clients & Servers for MTConnect diff --git a/libraries/MTConnect.NET-HTTP/README.md b/libraries/MTConnect.NET-HTTP/README.md index fd6d56f0d..b439d1070 100644 --- a/libraries/MTConnect.NET-HTTP/README.md +++ b/libraries/MTConnect.NET-HTTP/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-HTTP Classes to implement HTTP Clients & Servers for MTConnect. diff --git a/libraries/MTConnect.NET-JSON-cppagent/README-Nuget.md b/libraries/MTConnect.NET-JSON-cppagent/README-Nuget.md index e14007552..ae3e1ed71 100644 --- a/libraries/MTConnect.NET-JSON-cppagent/README-Nuget.md +++ b/libraries/MTConnect.NET-JSON-cppagent/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-JSON-cppagent MTConnect.NET-JSON is an extension library to MTConnect.NET that provides reading and writing as the JSON format supported by the MTConnect C++ Agent (json version 2.0) diff --git a/libraries/MTConnect.NET-JSON-cppagent/README.md b/libraries/MTConnect.NET-JSON-cppagent/README.md index bc786ebda..fe70e8624 100644 --- a/libraries/MTConnect.NET-JSON-cppagent/README.md +++ b/libraries/MTConnect.NET-JSON-cppagent/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-JSON-cppagent MTConnect.NET-JSON is an extension library to MTConnect.NET that provides reading and writing as the JSON format supported by the MTConnect C++ Agent (json version 2.0) diff --git a/libraries/MTConnect.NET-JSON/README-Nuget.md b/libraries/MTConnect.NET-JSON/README-Nuget.md index 03f1ad2e3..ec182cfe2 100644 --- a/libraries/MTConnect.NET-JSON/README-Nuget.md +++ b/libraries/MTConnect.NET-JSON/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-JSON MTConnect.NET-JSON is an extension library to MTConnect.NET that provides reading and writing as JSON formatted Response Documents diff --git a/libraries/MTConnect.NET-JSON/README.md b/libraries/MTConnect.NET-JSON/README.md index 415bece8d..c8bebd26e 100644 --- a/libraries/MTConnect.NET-JSON/README.md +++ b/libraries/MTConnect.NET-JSON/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-JSON MTConnect.NET-JSON is an extension library to MTConnect.NET that provides reading and writing as JSON formatted Response Documents diff --git a/libraries/MTConnect.NET-MQTT/README-Nuget.md b/libraries/MTConnect.NET-MQTT/README-Nuget.md index c6f0e471f..e9226e778 100644 --- a/libraries/MTConnect.NET-MQTT/README-Nuget.md +++ b/libraries/MTConnect.NET-MQTT/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-MQTT MTConnect.NET-MQTT is an extension library to MTConnect.NET that provides an MQTT Broker & Client interface to an IMTConnectAgentBroker interface. diff --git a/libraries/MTConnect.NET-MQTT/README.md b/libraries/MTConnect.NET-MQTT/README.md index 101af0a63..c15e7dbae 100644 --- a/libraries/MTConnect.NET-MQTT/README.md +++ b/libraries/MTConnect.NET-MQTT/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-MQTT MTConnect.NET-MQTT is an extension library to MTConnect.NET that provides an MQTT Broker & Client interface to an IMTConnectAgentBroker interface. diff --git a/libraries/MTConnect.NET-Protobuf/README.md b/libraries/MTConnect.NET-Protobuf/README.md index 8cc7cda43..b46b623a0 100644 --- a/libraries/MTConnect.NET-Protobuf/README.md +++ b/libraries/MTConnect.NET-Protobuf/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-Protobuf MTConnect.NET-Protobuf is an extension library to MTConnect.NET that is intended to provide reading and writing of MTConnect Response Documents using the Protocol Buffers (Protobuf) binary wire format. diff --git a/libraries/MTConnect.NET-SHDR/README-Nuget.md b/libraries/MTConnect.NET-SHDR/README-Nuget.md index d9aab2688..01ac65915 100644 --- a/libraries/MTConnect.NET-SHDR/README-Nuget.md +++ b/libraries/MTConnect.NET-SHDR/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-SHDR Classes to handle the SHDR Agent Adapter Protocol associated with the MTConnect Standard. diff --git a/libraries/MTConnect.NET-SHDR/README.md b/libraries/MTConnect.NET-SHDR/README.md index 011729c3c..e84285eba 100644 --- a/libraries/MTConnect.NET-SHDR/README.md +++ b/libraries/MTConnect.NET-SHDR/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-SHDR Classes to handle the SHDR Agent Adapter Protocol associated with the MTConnect Standard. diff --git a/libraries/MTConnect.NET-Services/README-Nuget.md b/libraries/MTConnect.NET-Services/README-Nuget.md index 2e52368d7..280597627 100644 --- a/libraries/MTConnect.NET-Services/README-Nuget.md +++ b/libraries/MTConnect.NET-Services/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-Services Classes to run Agent and Adapter applications as a Windows Service diff --git a/libraries/MTConnect.NET-Services/README.md b/libraries/MTConnect.NET-Services/README.md index b30b2f82e..40ecf1041 100644 --- a/libraries/MTConnect.NET-Services/README.md +++ b/libraries/MTConnect.NET-Services/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-Services Classes to run Agent and Adapter applications as a Windows Service diff --git a/libraries/MTConnect.NET-SysML/README-Nuget.md b/libraries/MTConnect.NET-SysML/README-Nuget.md index d7876a9fd..2568baaa5 100644 --- a/libraries/MTConnect.NET-SysML/README-Nuget.md +++ b/libraries/MTConnect.NET-SysML/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-SysML Classes to handle the read and process the [MTConnect SysML Model](https://model.mtconnect.org/). Supports parsing the v2.7 XMI; cross-package parent resolver via `ResolveDanglingParents`. diff --git a/libraries/MTConnect.NET-SysML/README.md b/libraries/MTConnect.NET-SysML/README.md index 1d9d4477e..d1e28a65a 100644 --- a/libraries/MTConnect.NET-SysML/README.md +++ b/libraries/MTConnect.NET-SysML/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-SysML Classes to handle the read and process the [MTConnect SysML Model](https://model.mtconnect.org/) diff --git a/libraries/MTConnect.NET-TLS/README-Nuget.md b/libraries/MTConnect.NET-TLS/README-Nuget.md index df41a3500..11a80d76e 100644 --- a/libraries/MTConnect.NET-TLS/README-Nuget.md +++ b/libraries/MTConnect.NET-TLS/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-TLS MTConnect.NET-TLS is an extension library to MTConnect.NET that provides TLS certificate loading and configuration for use with the HTTP and MQTT transport layers. diff --git a/libraries/MTConnect.NET-TLS/README.md b/libraries/MTConnect.NET-TLS/README.md index 91bd9a21c..762c9a12b 100644 --- a/libraries/MTConnect.NET-TLS/README.md +++ b/libraries/MTConnect.NET-TLS/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-TLS MTConnect.NET-TLS is an extension library to MTConnect.NET that provides TLS certificate loading and configuration for use with the HTTP and MQTT transport layers. diff --git a/libraries/MTConnect.NET-XML/README-Nuget.md b/libraries/MTConnect.NET-XML/README-Nuget.md index eb69dce15..60a8a7da2 100644 --- a/libraries/MTConnect.NET-XML/README-Nuget.md +++ b/libraries/MTConnect.NET-XML/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-XML MTConnect.NET-XML is an extension library to MTConnect.NET that provides reading and writing as the XML format specified in the MTConnect Standard diff --git a/libraries/MTConnect.NET-XML/README.md b/libraries/MTConnect.NET-XML/README.md index 1d6f7e7bc..e0afd4052 100644 --- a/libraries/MTConnect.NET-XML/README.md +++ b/libraries/MTConnect.NET-XML/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET-XML MTConnect.NET-XML is an extension library to MTConnect.NET that provides reading and writing as the XML format specified in the MTConnect Standard diff --git a/libraries/MTConnect.NET/README-Nuget.md b/libraries/MTConnect.NET/README-Nuget.md index aa86e8f9a..1b393cf44 100644 --- a/libraries/MTConnect.NET/README-Nuget.md +++ b/libraries/MTConnect.NET/README-Nuget.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET diff --git a/libraries/MTConnect.NET/README.md b/libraries/MTConnect.NET/README.md index de20cc788..6b754c9d5 100644 --- a/libraries/MTConnect.NET/README.md +++ b/libraries/MTConnect.NET/README.md @@ -1,4 +1,4 @@ -![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/mtconnect-net-03-md.png) +![MTConnect.NET Logo](https://raw.githubusercontent.com/TrakHound/MTConnect.NET/master/img/logo.png) # MTConnect.NET Fully featured .NET library for MTConnect Agents, Adapters, and Clients From 8d2bf6c02a924a292e690afb3a502d1fe961ab85 Mon Sep 17 00:00:00 2001 From: Patrick Ritchie Date: Fri, 26 Jun 2026 11:54:59 -0400 Subject: [PATCH 2/3] Updated package icon file --- .../MTConnect.NET-Applications-Adapter.csproj | 2 +- .../MTConnect.NET-AdapterModule-MQTT.csproj | 2 +- .../MTConnect.NET-AdapterModule-SHDR.csproj | 2 +- .../MTConnect.NET-Applications-Agents.csproj | 2 +- ...MTConnect.NET-AgentModule-HttpAdapter.csproj | 2 +- .../MTConnect.NET-AgentModule-HttpServer.csproj | 2 +- ...MTConnect.NET-AgentModule-MqttAdapter.csproj | 2 +- .../MTConnect.NET-AgentModule-MqttBroker.csproj | 2 +- .../MTConnect.NET-AgentModule-MqttRelay.csproj | 2 +- ...MTConnect.NET-AgentModule-ShdrAdapter.csproj | 2 +- .../MTConnect.NET-AgentProcessor-Python.csproj | 2 +- docs/img/package-icon.png | Bin 13738 -> 0 bytes .../MTConnect.NET-Common.csproj | 2 +- .../MTConnect.NET-DeviceFinder.csproj | 2 +- .../MTConnect.NET-HTTP.csproj | 2 +- .../MTConnect.NET-JSON-cppagent.csproj | 2 +- .../MTConnect.NET-JSON.csproj | 2 +- .../MTConnect.NET-MQTT.csproj | 2 +- .../MTConnect.NET-SHDR.csproj | 2 +- .../MTConnect.NET-Services.csproj | 2 +- .../MTConnect.NET-SysML.csproj | 2 +- .../MTConnect.NET-TLS/MTConnect.NET-TLS.csproj | 2 +- .../MTConnect.NET-XML/MTConnect.NET-XML.csproj | 2 +- libraries/MTConnect.NET/MTConnect.NET.csproj | 2 +- 24 files changed, 23 insertions(+), 23 deletions(-) delete mode 100644 docs/img/package-icon.png diff --git a/adapter/MTConnect.NET-Applications-Adapter/MTConnect.NET-Applications-Adapter.csproj b/adapter/MTConnect.NET-Applications-Adapter/MTConnect.NET-Applications-Adapter.csproj index 1948dac41..374a3b54f 100644 --- a/adapter/MTConnect.NET-Applications-Adapter/MTConnect.NET-Applications-Adapter.csproj +++ b/adapter/MTConnect.NET-Applications-Adapter/MTConnect.NET-Applications-Adapter.csproj @@ -66,7 +66,7 @@ - + True \ diff --git a/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/MTConnect.NET-AdapterModule-MQTT.csproj b/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/MTConnect.NET-AdapterModule-MQTT.csproj index 4bafd1d89..9d52ee842 100644 --- a/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/MTConnect.NET-AdapterModule-MQTT.csproj +++ b/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/MTConnect.NET-AdapterModule-MQTT.csproj @@ -52,7 +52,7 @@ True \ - + True \ diff --git a/adapter/Modules/MTConnect.NET-AdapterModule-SHDR/MTConnect.NET-AdapterModule-SHDR.csproj b/adapter/Modules/MTConnect.NET-AdapterModule-SHDR/MTConnect.NET-AdapterModule-SHDR.csproj index 1e9569868..acc584fac 100644 --- a/adapter/Modules/MTConnect.NET-AdapterModule-SHDR/MTConnect.NET-AdapterModule-SHDR.csproj +++ b/adapter/Modules/MTConnect.NET-AdapterModule-SHDR/MTConnect.NET-AdapterModule-SHDR.csproj @@ -52,7 +52,7 @@ True \ - + True \ diff --git a/agent/MTConnect.NET-Applications-Agents/MTConnect.NET-Applications-Agents.csproj b/agent/MTConnect.NET-Applications-Agents/MTConnect.NET-Applications-Agents.csproj index 67d50579f..2b8fd4748 100644 --- a/agent/MTConnect.NET-Applications-Agents/MTConnect.NET-Applications-Agents.csproj +++ b/agent/MTConnect.NET-Applications-Agents/MTConnect.NET-Applications-Agents.csproj @@ -66,7 +66,7 @@ - + True \ diff --git a/agent/Modules/MTConnect.NET-AgentModule-HttpAdapter/MTConnect.NET-AgentModule-HttpAdapter.csproj b/agent/Modules/MTConnect.NET-AgentModule-HttpAdapter/MTConnect.NET-AgentModule-HttpAdapter.csproj index f67d39296..1b994730a 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-HttpAdapter/MTConnect.NET-AgentModule-HttpAdapter.csproj +++ b/agent/Modules/MTConnect.NET-AgentModule-HttpAdapter/MTConnect.NET-AgentModule-HttpAdapter.csproj @@ -45,7 +45,7 @@ True \ - + True \ diff --git a/agent/Modules/MTConnect.NET-AgentModule-HttpServer/MTConnect.NET-AgentModule-HttpServer.csproj b/agent/Modules/MTConnect.NET-AgentModule-HttpServer/MTConnect.NET-AgentModule-HttpServer.csproj index e6046b8ef..0a895a369 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-HttpServer/MTConnect.NET-AgentModule-HttpServer.csproj +++ b/agent/Modules/MTConnect.NET-AgentModule-HttpServer/MTConnect.NET-AgentModule-HttpServer.csproj @@ -46,7 +46,7 @@ True \ - + True \ diff --git a/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/MTConnect.NET-AgentModule-MqttAdapter.csproj b/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/MTConnect.NET-AgentModule-MqttAdapter.csproj index 55ca151ee..0110909b9 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/MTConnect.NET-AgentModule-MqttAdapter.csproj +++ b/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/MTConnect.NET-AgentModule-MqttAdapter.csproj @@ -49,7 +49,7 @@ True \ - + True \ diff --git a/agent/Modules/MTConnect.NET-AgentModule-MqttBroker/MTConnect.NET-AgentModule-MqttBroker.csproj b/agent/Modules/MTConnect.NET-AgentModule-MqttBroker/MTConnect.NET-AgentModule-MqttBroker.csproj index 9f1d88c89..d8e066d4d 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-MqttBroker/MTConnect.NET-AgentModule-MqttBroker.csproj +++ b/agent/Modules/MTConnect.NET-AgentModule-MqttBroker/MTConnect.NET-AgentModule-MqttBroker.csproj @@ -45,7 +45,7 @@ True \ - + True \ diff --git a/agent/Modules/MTConnect.NET-AgentModule-MqttRelay/MTConnect.NET-AgentModule-MqttRelay.csproj b/agent/Modules/MTConnect.NET-AgentModule-MqttRelay/MTConnect.NET-AgentModule-MqttRelay.csproj index 6a39a1364..7dbda0383 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-MqttRelay/MTConnect.NET-AgentModule-MqttRelay.csproj +++ b/agent/Modules/MTConnect.NET-AgentModule-MqttRelay/MTConnect.NET-AgentModule-MqttRelay.csproj @@ -49,7 +49,7 @@ True \ - + True \ diff --git a/agent/Modules/MTConnect.NET-AgentModule-ShdrAdapter/MTConnect.NET-AgentModule-ShdrAdapter.csproj b/agent/Modules/MTConnect.NET-AgentModule-ShdrAdapter/MTConnect.NET-AgentModule-ShdrAdapter.csproj index 0e72f8f5e..45efb2e39 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-ShdrAdapter/MTConnect.NET-AgentModule-ShdrAdapter.csproj +++ b/agent/Modules/MTConnect.NET-AgentModule-ShdrAdapter/MTConnect.NET-AgentModule-ShdrAdapter.csproj @@ -45,7 +45,7 @@ True \ - + True \ diff --git a/agent/Processors/MTConnect.NET-AgentProcessor-Python/MTConnect.NET-AgentProcessor-Python.csproj b/agent/Processors/MTConnect.NET-AgentProcessor-Python/MTConnect.NET-AgentProcessor-Python.csproj index b3135747e..9b04fca0f 100644 --- a/agent/Processors/MTConnect.NET-AgentProcessor-Python/MTConnect.NET-AgentProcessor-Python.csproj +++ b/agent/Processors/MTConnect.NET-AgentProcessor-Python/MTConnect.NET-AgentProcessor-Python.csproj @@ -63,7 +63,7 @@ True \ - + True \ diff --git a/docs/img/package-icon.png b/docs/img/package-icon.png deleted file mode 100644 index d068a871d2b108cfd531b602d97740ab9676bc02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13738 zcmV;bHC4)qP)Rn*acTKxo+x0JO}tLmcjftz-K4G#I!< z>6)N~r{@fYDB>GY11TqB8&fwuNFYtkT0LTvDZwP5qwj;MPecfO8#)mb$!ICgLeg&Qf;tTjO~ATW;u zK;)czQ>ha}-&M8ChF{tbhfUe@3dJCZrUwI8`(=yEbwiQ_N&#F* zyim()a1eSaSE;8{njK%0B|SEn$KZpjrJLWMJVxq&k!k($DaQn^O3q~X6p&ldHU&1@ zNj{PvkF&qvl*mdh&)q|9tc;BlFUQey%T#gJS6v6!P^o8gYE__OWsH`V!JGB>nR$l0 zMKK)KbynY#(j!yJYR!fRj6tVr{c{VbJ#a8cI&)*bn^-1TPiJ!o0NS85Czm<4>44bB zC^HoW@6RdcH}~F3^-0I4mK*RT7#xy&2su-;!L)!|_TF*`gjMpxA-4twC~YUsdm#wldPM+YCVFQFx%T}r>U<#ATcWZ%t= zNbhB!lJuDYA_R$yW4mBN3L)8Ovgym43DbY7A6OhhHWoGEqRN0};H_zLg9JF$u`WR> zlS5Cn!&Gw?qS^3!>?so*Qoo+mTkNN`Rv8PdJ!gw=90I|o4GfBz&x=FTshG};028QG zz(Ba@9@exHX{_v&sHsyDu!4gKOr^~PCFyaMH)YLKIwak3FqXR=+s;KP>`v^%P~#oE z&}Qz;((4RvMnt=YQ4A zFt1Xrd>^Q>RROUGijHUL?%XR5IQVA9LWXK18|!4EkSWqc{1DdX_45}7g(@FY)wVal z#>ZG9jh2wZ*kqvKntR2oA<2G)?0tr$ZSB@!DXXX*s$S)0tPUNWh^gFRe2oxTjh4rZ zapuomf{Y@pPHGs~j6+?TaT7!oa~#2d3Ld7Vfvlw_ivz^;bA8U8#N{4#Qyt@3DXs?k z%?BYHkBD&2XqW{a8E_+6EK4B;P(oASAW%IJ`z`k8g`%Z8HY28tvSz2WM9#M6Fw3b% z5|U0PFxL9y9b^ds5%e;%seSl+Zvn_y3irs+VG?v56-J-L^Ib|18(1JB57h;TjW9&E z09lQ*jI>rFsC2oMrAyB;P|xgQI%JSko5NyM7-SE(<^vmwH?J9&0y1~d(4W&ZZLTE_ zOz3zSb^XA&0E?G1_x?#K$IL99UIK7AE48-do&kv4OnCTUO;JI9`NUIYN~jZ~Ppno< zZqRD=qiB@ut8OT;?`qxVis~dTYrtmS^;^Nx^$~pCoXNFtrG_ZEKTbFEI(hH*npLkY z5=DTUR*CP5*AYOPG_VMY!H62~b^@4941Rj06uUsva)RJDmV)Q_C84oZ2R=+{;6l!9 zyVby|6)BhPqKd04#AmdLASD}SO*VHEkfv@HULFkkgppOKAQqM)5t&fv00)RAf*BH1 zuPxoV{eN0~=M_c-eP##Lv0tn-r41sfo()n$%b~3dVOvQBG9s)}yQ)SR^0`&YBPt`j zabW|N!-0j-0c|oT@jCAA(G;&8Xc7iw?E^ra95;bjjtRqIszk`WGqqF`DtWpIi$mN3 zoCKr>Art!ChRn?T)uQ4_l+5r>s(mop$H^V5LEYrcbTqo^Z%kk z)~6SQHb0QOykMNGxz_}b9*K4U(VD0S$hc-W;!vRuG))|BbGLP$f=CK6;$mD`Lai%d zUuOY!c;(3Wg_;m@Dz_7W7B8s=q21Rvyc2Lis~CiYs}4pg0r4CH3?JDFaTOb6rbYw; zI%%;^I>^Q=)s*F6@x#ggy646^x^Xnv+Mq)F5=+qnpSvS3w!ohA3ck-6!p zFoVKLjTaDc2VhfK_=wRmc2oBkzZmoV3 zJZgS50hID-Mr+6znp{KIxG{Gt_6+O;gayl&I0A#bCp1HPoALe^G{ADHf8(A^CT)$*SLE z+Q?0|&6|>44c;pFM4QK6#wuBIbpiI|3i8yhBf;I0wIP}111JrsF^gy!rW;~|HS;D1 zU}h0Ya5S}fmQjspx=T!!l0{cipKPC=Nm@~vnlFU8x)vW^tpn9Tg-+E~#$7(fCAf`# zMs1SoROL_eePL^WU${~{L)t9blILlaNxYTaWMI_U?s;+6gmkRfpy;XPZ z=dOjPd~FB>W%X^l0<)U=mQl{Ga~L%^)-xMKO#48Tb^xiS7H}v^eaN2!#zLqNSq#6b#tl6P75>D$ZOl2)slZj{nBi);w&EClH|GlrDGrb2Z zPaDL^^QU^;Z3o7(aM3(K&^q~01fF9DeNUVo4SvI<(jUwMQxF-TCYvJzmrQIDNOx#e z@KnDY-?o^Y25D}V4X80mZu4bue{}5GH&+Lm@v^PVM>L#3C~o9xc#Em1tBCu0ijS?Q z`V$A;S$g&W%roM(=fc}FrM6f7(l?P|F%}q3juFFXF6X0;`uo3q-mHpYYH}PAH$CyAH~PN zwiBzj9x*{iY;*dI9{l-l%)_&m4PfPxejGT|!NzT4_^0ph!8Ld9)&nc4-B;eQ5CHIs zo44V;&!2%8|MCnhJ!vZD&+f&;>ql|(J-cwzgQITDzw*X~Shi>yp80_dc+)upc-c9F z_@$)-m_NH08@G+&3-=D=`fu+w!jy)aI=FaIFMj7aGjZ6-%b$ z(M|jD(7F+vxnw#nST!4$tQ^FXPaMQQzHbH2I(0f8**J|9U{EyyqTCYV+wkwv@mP>6dV{E$LQENfPhbZ>nTL>3%K&!LEQL`rIk|H z;i^Hr?t&Tk+7I?(_u-CMmG`}T9_Gww_)A-H&E2~l zrQd(gVw}HX5I=Zi1ke4*PsM{g{Qgt1a!Ee`;4Oc<5jXv4RBY)Lr%%IeS1-k;?PECY znso`k;M#opuI+gH9XrK4EuYbY2mk5}fPm?5eptNCD^H(>zk7G2=OrIphqe2TO5pq# zFPn#}UwsOOHtff$_pd>q2S$@!Fd=L$i;n{puAtI3%<{HfS?mi=apJ0BqWJ0I&Gl$H9Ra z`^YbRJq})fUk~2<`Hfh!=ZK5O-}d+00RYQR?$<%d_Sq3xj|cqKA3Ov7eLZ-|2iIcF z-f@FG;id;hFtl+L^JY!KdoP>`fN;xePQc0~1Nih^+i=a@Pl>~01$^y|Td-;S7|vfY zh*zH8=lTMGTkqM4n|`z(cJt~#tT~9GjiXq+uulWpj<&n&JG<~UGxz|ocHdFlbN?Rn z_x0e4Gx`CF@zJN=dMW_mr5{|2wfl~WFcAW-`PwjkFtisdPo0j77xe-leB{+9Ve!Ig zc;DwY;vXJ8kfzMB@3ni6;*Ql(v)_2>e7~_I(VNf2@>vtd6om4V8!75!LKXOpU)c-^ z>rkh2v;_m7{ATMnijLpt5!8N^Kw zjNmg5jEJjRys!^L8%D8q&k=u40RXS#-~G@Cu6`BptYrgoLK;AdKN8lwh*&-O>sh>Z zUu+jqw2L~XgbtQ2=mh{gZ`BMu{DI}3si_Q1>j40)T09M)-IzD47egENN8H_PCf=;s za~P|xc_cme-yjimspGckYvRqHoNdDuvvH_O5uy1d$sb`=ZJBC<(zQjA#`PQeWW#gg`<^Vvtoty3JCbtV+Q~LC(i8! zuXH6zlRwL5v~cA))A53nrho|8w0#UqPVAEyL)@$2gcy_ocyR5g>koz*5;X^pqdW7< zZ8{Vs)MOT|VDT3`HtvXX@|T@AQ&8n=Y zh0mPXfN-T$6gI8~1|(aX@13c2O;9~4R|GvO9hnN&@Z&yCoZFk2r>kc--n9+=eLcA4 z?Muv_i)b#dII|y@oI58*$;qVt_dB1&fw6J?*O#7vE6*KN%#sWF;*V~`^;=f$hLUft8O4FIaa?llT-a9 ztln}6A6fkrUVQE>TypLl?6_eS?*2iXCS7>;EJ+`~^@jBVf9>9*c-=?W;qR_mh8y3p z6mJ;XhqYS|0t8%m_Dn2Z*oSXCup5{D^(HfDmM}B$>CB^3@TMIu64NLcbsItUJ>34t zD6aosoABP>U5p1mwhH(Ba2G}nj^o6+y*PX6Am+{L#Wx<dgnmW#2xu9|y+9asFAe@x5zTV(sSr`0Uqr z;J%-ZiQ3w=IX=A8X6z+xnUH30uzBYghSu-Hu92e&5O0Wx6`mRy$I$wH*t~NLye-?E z>IGrlmIH}F1YWpVv-c=o_mM~OmX|HW1*>M^z}PtM{MX$=(4`++kM~}@8<$@=50}4S z0s8xTFtlMmZvFZ;T=$h7ShFvkcu9!f{>UhPeAUDFt5=_d=dGHF^H)amIkaIEpT6@6 zy#4kavQd%;Y~9uaa8p)zQ@&;RForgaCVw5DuG@ML5{z(7qxG@Pe(c(RG{Q@U=1;#m zj14;u;SDc60hc~|F8cd=BzyY4n>XMy_wO}>MEJ9>?!=GQAHZ8)b^O#su!Rt*f!)OuaUjEQ($DRt+rTT1 z1n_Zhh9kVJ*-kXp0;LZ`2+~Q*bQ@C3MEz#|n$8Bq z+m?u!Z2Jb8`8N<#mFianKjW0FTakDKc7I}xGLh?;ozzES@|@MPS61Lj^*1WD*d65G z912oBX_HJ6Ge+ADvt%JE9e=avu?<4996^gRL}3OmD|1M@SFIGROe3)`d8J(h(`v_CvzOSOzcr z>I_+A1IT_Oh?!tU*o=5c4C7~IaK6d$-qCA_b=Vt;^Ac|HFmR3b zzYHeS7$}QOePbm8Ylv19aTYWH zv~7GNB5uVPgcvGVG<5U6vdn((HlwP;qn`q?j`<9Y^rzRX(Luhm!*!i{BcP?4kCxyd zzb%A(ktP6S2=2Hypiaj~DW9uXSW0s~ZfcfQPeYo$$Q~fM6)|F^dGTG@ zLC)S-^jLEWmtfqoQ5NSoIVH`sCtP@%XAyLEi7c-y5hMmWrn+q$K_E`&n|%GGphh?>d(3Esk=k)A!}YmoVH$MjP3bn2E{}_y(38zXQ6n~W9)e$R(O zOq}C-qqH1cOn!rte$^=RnO9FyvJiT&fh)oN+#Afm5CC+{7s$LM%BSJTvW;8?mFj4g zBv=Y6ECx*#ObJXBB4_eKdRVlk%sZx@)glGQ8ym!mdyth(BzPRN*ezTReEO@rQw_H9 z3|FS4EWUZL0~ECc1mybxj0oGAj9?5FRcK+0i)j3Gsx z1Yfj|KfmIHpO1xm%fZrZUF776$V;uQPZs61L-C}kzhlR%EggtC^@GjYU=LM_CUIMq zWZ@|(PYq&j@4CEf6~3~G4BH=%lUY0| z$NS)`XKc?igYlUvRs67pIJ^P}Yx|U63-Fxf(~%GQzdSmE zo4>i!xuwg_n~lrPn=Q{As9>3(=vdnd% zHP$?F5ZB+a#o!c>#}}?`CKOf?xs{0l0HBpGgsI;P#!m$c&M?R*wyq3Xvz+=c{^-50 zScIO+R|;PDD+{ptk-gZo^RQSLLxK{NT-0k{Fb~f=eXxLY^4wm0?psd^;UNGoJ$oiz zck#TU?$a$N&*{bIzWF46_riI2!HN=x<5jjkbr{$G;}&DdthKQYD&O|T(rheylERj- zG-%)#(1~-^PBt)3TRMy;8-?Z~k6~^Xa zey$ALvG+)0pHHW3*>xD91N?M&?6|_s%j4S*qVYo)@nk9d=WQTkpFNV2Z3`!9ku%!u zCLvqLnhfKE<(9me;>Cy@t4ewH(&>29B?~-Ei>HEb47~ypUr5oJu;XJay=hlPZ~Hj> z3SXBpbxQgGhq1lh8EGjtD7lwfsU;swVos86XP2Zp!bwRv27qteiC{av=0b(4zK^|D zZoG0S=JfZ7Tj4VY6I1CaW}HLrl#fGc_rx%AO3!4edU|C_PcXwlX;+hxYzeWFfP}c` zFfiTB1L#<{g*nDoYXsWT;6HF*l!7PL{FHJG*__-2Dl7<=^XcL^|r<&z{#ozlV+PaQ@e;7`7=5uf<# z6F7V%Tjxy;#*PsF__9TK%|-KzzVCi;H?F>QBl_&`xN$#$(A(3(u8|`~=gnF{mgS37 zrYpCznhFo%^8f_@$#Gv^7i+J%*wSAMInMC`_lPUvKdvNnx zmziLcATf%K3o6Xuv`MI#KwsD571urZOkg0A!=e12>?TS$_^DSXDn&MeO%w}$*%Ge6 z2Y-2$#|JPd#AkubUJD;{5g;)XTfqQ69V}m!Gy~;KJ!RvSM9FA4QE-D`wZ$Qkz)6mO z@-l!|T{s^Xt(=ieD--B{?I!G6USLP!d!= zcp^~L$}(&>`xiaV@E{acjq7&#NL0rlQ1s?S&%I91I#yE*V1mvj8b+c+(I?i*m)?B_ z&@t=$*4{Q20-=M@u{f6H;E{2MrrbylgK2}$k+=q(xc)8^s1B^GcNJ8o2LPW?wMjNd zrW2^#d8EG`wORn=G?yhVekZWQoH3GSwo}#70w&myk}omN9Eq55T)_UWd!h zpO4@Fl?CqI!dboe>o=T+cYJ;W_{W~Q55F0-32M$8oPuR1PD8r|v|7A#h6D4JS))q1 zXvGXX_BZED1X0TE-y6n%`RF62F9q(`Ms-QNsjypNE8t=^;gq_a!WcVl`aKQaoTdH} zt}O>G#Q;7~%&84ufSIbYKmZy+*UG9>25|7mIIh2AbM^f{{>chh+uAh~ z2ou0I)O$Lm-3rPF^6PVibU?=0?rs*yyeDW0L*ikhI_`|ijE2d6#z3@O?bIS&k&)2ea;WS+H%4cM;N4H|=J5Jfa zgNMiMP)HCcr<7fv=3fJL_BgkF!B)Y~0a@rsS#O+t48rpc$zPHE=~(HR9Z~m_3v%0O zqA6>ip7GDlQov4kKLfn_&IYGzAP!`RdTEGh~ zQn#FmNK8)jsB)$EZnzKwTz*3E0wmMsPABCBEVNEc1xGkGJ7>Ce!J+H9Fbu)@4!x9Z zGLJBMgAN*LN9}Q?e&<-|* z3DYpGHyF9%ftZ|0bSGU6PPeY!fo~7(nG_7=O5=@`qvI;15;q9h*1oDhGj6;=CQV$T z)x%_S6cuDMA#|{)Zgu&}t-uHp)C*Szo~eClm0 z1k%FUQ}M1>EXJ&XHs1KxL$O|-YiLA4*BJ7jGTgrVFy8&SHTc*coL+5S12~b(dEql> zWBpCfMJqsd^>|(|VtU=~Y2o(oJc)OHW{uDM@rAwiFDockVie|swT2ds0h?p!#m~@S z+O#EuBgrH}x!sD~AQv!6&&R#%^2Jr!UjO1nc+bsi@YKi=lXB=Dl0|c>Nb9yP0O;To zcW%ZTU$O`*PZ{U}r-E-onbzCFk_CMe!^+B%1$~l}cRzGyI-M}yN&ocxzZV9H5ArXV z8Ee1|;zzCQhMwepGaTZE5CA?hVu#KD6aoFxw?&y;%-HU-Gqz=jB2EN#jRy$&HBOtG z;A9lxxBlYCUD{_fxqrv6>>WKS@l7Dcj~uo9UlVtfzr1i|(Bu?uVzl-6Y)mQDV;>*C zN@8XOl!z+zisfs_8W#W%Ml&z z*M2yRWheFH=(u*;?g?14b<|-+fHM|0jQF!#*5Rzh12}2UR2=2ND_NuOKf2es%K+df zn?~`#x{*}Z5^G`}$B5D;+CIMb*k0#vrIm5q4B_9_kKloI`wDu$^T?hIwD<9T>h19f zu2-0NAkjmXHV>iAExd21Y;zAu90)eu#_8n#<%{<|fxam{SbAbVcI-Zc+rP6t1>(s( z8KiIf_IAvjF+~^>5YW>DJiLj2!NbNLxvNr2Zu;k~IB|Aw8q^?z^XQh*=$}pe^T67D z_#drp`(QWtle_Jk>`Zp;P0YA zgO7f-E$u@Pv(NCdZR}~wduYA*F6Wpykt3D$z+kFiW&|1_c(jA|tiyQniLvB8S;givhE}b$N995&)Ut2BB zj?sX3FWKNOHcN_PS!H#8X)}=wtofHCsEXd~_ z1=&+*S0w|W8ybVDo8xFu@VeIle~kkm=!dGZV)OKp7xlrKbkVUx#V_sP@t#ML@ehH_ zUIfyQrk02#ct$zc*yaIQ$oZbC+sE!iP(yd2^3$TN=qXp5J`L86xX`8V3vsUP|DJy zXi488x>VMDLA$`SVw^;Isq9qb$>MB-&w@1-s|D)<$k*10PZlHm&!c9@lLQ#LaiGMvF)3n8%C{Nj}^IYWkQ^59plIY6Dkr}^RKn~nFexSyk*^r zuv9by$UYT8mNVtIj%r2IYKlva7x$8Uw+@W4tyvJJw^ksdT8hXfcS6C!gjy=LG@0xq z>X4btECzsTF}%fLAUuN$Xv*!|9`Y@A9w~APEY^cOOARWD zL*Z{s<%F2o73@(c+hj<(xPcwMnlAY$WX)w%%rLtVfh{FP#rel1E9V$^eSv?t!kTOT zqIMBRxDpYyphIR_bB$zhA%7tEJ~+*Jk&_{ta1opamnfI?ySO6QI%QqHX*I;)$@XMEBLy{2|G^(57Jaod1GVn?A9b4kfv47QQlJ2gqWZuV>FxiT9>$|xQA3BLu zn%36QoC@gV8!nsbcf)hCn_Yb!YejN_@i$Eako8NLkevX~E+U1(L{?PIS^~=Ind@i&eAp?E{R*V3>&L4 zK!!_Z)JoUnt9y;-DPdur*#+1Vq>+vOgzKI3JI3nCJF&Fw2R$&M#0)A;~0KH}QExppQV$hMY~ z=$fV4Y`!c=Y6^QArh&%qIlrjy?H96@qRdi=&thV|P!t51#ULMKrhDVC{9M^Dtk?`* zopQ1ejP)rwr#o?6(;O6Zz|F`wliZ}Prhn7SSu1Dt%wIB=fb$_f>5z44Br^3mi5Orq zPQP0n^-bMfQualRthVJb8CU3QWqvU5v-&|*+lIRMR~_%k&-Y7O>w!nTUcIZlZq;oW z%hQeF{Hk3<*KDqBO7VYxz|HQt*w;wTVEQTrat`fT~?nAT~BA#v*tG3%8LBbQ7Zp@S70w zx=}~Xo`>|X5?2_Q&IMG>G9~^vUsK1?V$v~Gl`CC<4RVX05%B}>T##v>(<0+7{I>&c z$I85`DOOffV*nS0hYYD&ESs0Asqj9sih}K5g-m54WJ2t<)9pdX;XB@2AQm@fWD34g z$BJ@EckMTe^iYkV%gH$7sj-g0ugPCN9=XC8ylS}y`4c$W$xD1z#sCwUC0CLB9X~4k z^JINzm$iB_eb@u0lQvWyONfPej3WG=W+TMGCwqURXCCuS)@7A4J7Nf9*_NO1fl`W0SKmRrESfCs%y7COjEo6%Dl|mrgo(O6pRg( zk*r`M13(R9RBn9K!UJ!e7e6-?h&0#nsQJNcWyc^!N%@js@Gqh`Af|4*4HDSFSTR4q z);oLLDw>?l2IAOf{fg4rTT6Q$XlA!vHuN0Bet@p}eC#Dt__8}u2RQA_>pK^lGo|db zIN~OKO%iGMx2YfBqF$qr<}UpmXWpCAECAL76EyUdJ%l-K0g8THU zG|P77R5ZWQI28iVmcaT#qnW9ZbI17?RC75=J8Q+X*IZxI7&|=keGrw(#jKzPEDHeK zGH_kUCvO2mr9+0V{3z>~UJ2e!EBW+hlcfS%lF8Ym0fPOJ^=ZtmLhrbr9a zMlENibzkswOcX{;P<{phXqM(lV`P~=q4YK}Y7%YjxRZa}_>Av!n%oJa$*SDbP|d26 z97ph}{G4_LS0XXv7F@tyEMF#@&OxMri0>Tae0q~xg<4!--4hX9g2cKOfp2gm1BXk< z{^o_-v#qhn)=%IgR%gsxZt_rxpZQd>VKWvbxp^{w&UYlI1_`bJnpixLw2n=j%)NHOIWcMr)g@yZ%DZc;$&{Q~D;$k=+vir)dJhX$$8O+?B z)?$GShNO^f-oXWU>3KSk!u@F2pmX~mfPmu}&^?{<3oHP&Qi&{!LA0}i;Okd+KG`-+ zT?UTrue \ - + True \ diff --git a/libraries/MTConnect.NET-DeviceFinder/MTConnect.NET-DeviceFinder.csproj b/libraries/MTConnect.NET-DeviceFinder/MTConnect.NET-DeviceFinder.csproj index 467608135..5887d4fee 100644 --- a/libraries/MTConnect.NET-DeviceFinder/MTConnect.NET-DeviceFinder.csproj +++ b/libraries/MTConnect.NET-DeviceFinder/MTConnect.NET-DeviceFinder.csproj @@ -45,7 +45,7 @@ True \ - + True \ diff --git a/libraries/MTConnect.NET-HTTP/MTConnect.NET-HTTP.csproj b/libraries/MTConnect.NET-HTTP/MTConnect.NET-HTTP.csproj index f4aa22e33..14bca0eba 100644 --- a/libraries/MTConnect.NET-HTTP/MTConnect.NET-HTTP.csproj +++ b/libraries/MTConnect.NET-HTTP/MTConnect.NET-HTTP.csproj @@ -112,7 +112,7 @@ True \ - + True \ diff --git a/libraries/MTConnect.NET-JSON-cppagent/MTConnect.NET-JSON-cppagent.csproj b/libraries/MTConnect.NET-JSON-cppagent/MTConnect.NET-JSON-cppagent.csproj index a579e9870..95f2dbc3f 100644 --- a/libraries/MTConnect.NET-JSON-cppagent/MTConnect.NET-JSON-cppagent.csproj +++ b/libraries/MTConnect.NET-JSON-cppagent/MTConnect.NET-JSON-cppagent.csproj @@ -52,7 +52,7 @@ True \ - + True \ diff --git a/libraries/MTConnect.NET-JSON/MTConnect.NET-JSON.csproj b/libraries/MTConnect.NET-JSON/MTConnect.NET-JSON.csproj index 02b6e78fa..e44b13b0f 100644 --- a/libraries/MTConnect.NET-JSON/MTConnect.NET-JSON.csproj +++ b/libraries/MTConnect.NET-JSON/MTConnect.NET-JSON.csproj @@ -93,7 +93,7 @@ True \ - + True \ diff --git a/libraries/MTConnect.NET-MQTT/MTConnect.NET-MQTT.csproj b/libraries/MTConnect.NET-MQTT/MTConnect.NET-MQTT.csproj index 963874eb1..f1fd81951 100644 --- a/libraries/MTConnect.NET-MQTT/MTConnect.NET-MQTT.csproj +++ b/libraries/MTConnect.NET-MQTT/MTConnect.NET-MQTT.csproj @@ -103,7 +103,7 @@ True \ - + True \ diff --git a/libraries/MTConnect.NET-SHDR/MTConnect.NET-SHDR.csproj b/libraries/MTConnect.NET-SHDR/MTConnect.NET-SHDR.csproj index cf9b67bfc..775ee33ca 100644 --- a/libraries/MTConnect.NET-SHDR/MTConnect.NET-SHDR.csproj +++ b/libraries/MTConnect.NET-SHDR/MTConnect.NET-SHDR.csproj @@ -53,7 +53,7 @@ True \ - + True \ diff --git a/libraries/MTConnect.NET-Services/MTConnect.NET-Services.csproj b/libraries/MTConnect.NET-Services/MTConnect.NET-Services.csproj index 0d87c7c0e..b2e30ad3d 100644 --- a/libraries/MTConnect.NET-Services/MTConnect.NET-Services.csproj +++ b/libraries/MTConnect.NET-Services/MTConnect.NET-Services.csproj @@ -56,7 +56,7 @@ True \ - + True \ diff --git a/libraries/MTConnect.NET-SysML/MTConnect.NET-SysML.csproj b/libraries/MTConnect.NET-SysML/MTConnect.NET-SysML.csproj index c68c95aea..65be39a44 100644 --- a/libraries/MTConnect.NET-SysML/MTConnect.NET-SysML.csproj +++ b/libraries/MTConnect.NET-SysML/MTConnect.NET-SysML.csproj @@ -49,7 +49,7 @@ True \ - + True \ diff --git a/libraries/MTConnect.NET-TLS/MTConnect.NET-TLS.csproj b/libraries/MTConnect.NET-TLS/MTConnect.NET-TLS.csproj index 13d689abc..39d9de2af 100644 --- a/libraries/MTConnect.NET-TLS/MTConnect.NET-TLS.csproj +++ b/libraries/MTConnect.NET-TLS/MTConnect.NET-TLS.csproj @@ -45,7 +45,7 @@ True \ - + True \ diff --git a/libraries/MTConnect.NET-XML/MTConnect.NET-XML.csproj b/libraries/MTConnect.NET-XML/MTConnect.NET-XML.csproj index 1b7724e25..64ad33b8e 100644 --- a/libraries/MTConnect.NET-XML/MTConnect.NET-XML.csproj +++ b/libraries/MTConnect.NET-XML/MTConnect.NET-XML.csproj @@ -77,7 +77,7 @@ True \ - + True \ diff --git a/libraries/MTConnect.NET/MTConnect.NET.csproj b/libraries/MTConnect.NET/MTConnect.NET.csproj index dbcf11c84..05ce58af9 100644 --- a/libraries/MTConnect.NET/MTConnect.NET.csproj +++ b/libraries/MTConnect.NET/MTConnect.NET.csproj @@ -56,7 +56,7 @@ True \ - + True \ From d776dfbb9c13099e844bcd1b872e36455eeda189 Mon Sep 17 00:00:00 2001 From: Patrick Ritchie Date: Fri, 26 Jun 2026 12:05:18 -0400 Subject: [PATCH 3/3] Added large logo file --- img/logo-large.png | Bin 0 -> 38462 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/logo-large.png diff --git a/img/logo-large.png b/img/logo-large.png new file mode 100644 index 0000000000000000000000000000000000000000..701a248e8f0c129a2b33ee0723dc7c2b93d5dcfe GIT binary patch literal 38462 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 literal 0 HcmV?d00001