From f7beceb56030556b4d3d432466dde5b76fd502bd Mon Sep 17 00:00:00 2001 From: Patrick Ritchie Date: Thu, 25 Jun 2026 22:39:52 -0400 Subject: [PATCH 1/4] Updated Nuget Package Icon --- .../MTConnect.NET-Applications-Adapter.csproj | 7 +++++++ .../MTConnect.NET-AdapterModule-MQTT.csproj | 4 ++++ .../MTConnect.NET-AdapterModule-SHDR.csproj | 4 ++++ .../MTConnect.NET-Applications-Agents.csproj | 7 +++++++ ...MTConnect.NET-AgentModule-HttpAdapter.csproj | 4 ++++ .../MTConnect.NET-AgentModule-HttpServer.csproj | 4 ++++ ...MTConnect.NET-AgentModule-MqttAdapter.csproj | 4 ++++ .../MTConnect.NET-AgentModule-MqttBroker.csproj | 4 ++++ .../MTConnect.NET-AgentModule-MqttRelay.csproj | 4 ++++ ...MTConnect.NET-AgentModule-ShdrAdapter.csproj | 4 ++++ .../MTConnect.NET-AgentProcessor-Python.csproj | 4 ++++ .../Parts/libraries/Nuget.cs | 3 ++- docs/img/package-icon.png | Bin 0 -> 13738 bytes .../MTConnect.NET-Common.csproj | 4 ++++ .../MTConnect.NET-DeviceFinder.csproj | 4 ++++ .../MTConnect.NET-HTTP.csproj | 4 ++++ .../MTConnect.NET-JSON-cppagent.csproj | 4 ++++ .../MTConnect.NET-JSON.csproj | 4 ++++ .../MTConnect.NET-MQTT.csproj | 4 ++++ .../MTConnect.NET-MQTT/MTConnectMqttRelay.cs | 9 +++++++++ .../MTConnect.NET-SHDR.csproj | 4 ++++ .../MTConnect.NET-Services.csproj | 4 ++++ .../MTConnect.NET-SysML.csproj | 4 ++++ .../MTConnect.NET-TLS/MTConnect.NET-TLS.csproj | 4 ++++ .../MTConnect.NET-XML/MTConnect.NET-XML.csproj | 4 ++++ libraries/MTConnect.NET/MTConnect.NET.csproj | 4 ++++ 26 files changed, 109 insertions(+), 1 deletion(-) create 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 ea7f60619..ac55d6d5b 100644 --- a/adapter/MTConnect.NET-Applications-Adapter/MTConnect.NET-Applications-Adapter.csproj +++ b/adapter/MTConnect.NET-Applications-Adapter/MTConnect.NET-Applications-Adapter.csproj @@ -65,4 +65,11 @@ + + + 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 67a6772c9..38c75feea 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,6 +52,10 @@ 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 1faedf150..772693ed2 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,6 +52,10 @@ 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 00ba1ec91..cdd934c4c 100644 --- a/agent/MTConnect.NET-Applications-Agents/MTConnect.NET-Applications-Agents.csproj +++ b/agent/MTConnect.NET-Applications-Agents/MTConnect.NET-Applications-Agents.csproj @@ -65,4 +65,11 @@ + + + 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 25a162e04..a702de3f7 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,6 +45,10 @@ 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 f80a831d7..70614490c 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,6 +46,10 @@ 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 b8ef774fa..b587bd503 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,6 +49,10 @@ 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 ad790c35d..a6ccd3e47 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,6 +45,10 @@ 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 f94469e39..c251f84d9 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,6 +49,10 @@ 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 7a18de441..6cc374d07 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,6 +45,10 @@ 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 8e354f0b4..eeec2bb61 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,6 +63,10 @@ True \ + + True + \ + diff --git a/build/MTConnect.NET.Builder/Parts/libraries/Nuget.cs b/build/MTConnect.NET.Builder/Parts/libraries/Nuget.cs index 747a25f0d..b96e10213 100644 --- a/build/MTConnect.NET.Builder/Parts/libraries/Nuget.cs +++ b/build/MTConnect.NET.Builder/Parts/libraries/Nuget.cs @@ -50,7 +50,8 @@ public static async Task Build([CommandOption] string configurationId = null, [C parts.Add($"-p:RepositoryBranch=\"{librariesConfiguration.RepositoryBranch?.Replace("{VERSION}", version)}\""); parts.Add($"-p:PackageProjectUrl=\"{librariesConfiguration.PackageProjectUrl}\""); parts.Add($"-p:PackageLicenseExpression=\"{librariesConfiguration.PackageLicenseExpression}\""); - parts.Add($"-p:PackageIconUrl=\"{librariesConfiguration.PackageIconUrl}\""); + parts.Add($"-p:PackageIcon=\"package-icon.png\""); + //parts.Add($"-p:PackageIconUrl=\"{librariesConfiguration.PackageIconUrl}\""); parts.Add($"-p:RepositoryType={librariesConfiguration.RepositoryType}"); parts.Add($"-p:PublishRepositoryUrl=true"); parts.Add($"-p:IncludeSymbols=true"); diff --git a/docs/img/package-icon.png b/docs/img/package-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d068a871d2b108cfd531b602d97740ab9676bc02 GIT binary patch literal 13738 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 \ + + True + \ + diff --git a/libraries/MTConnect.NET-DeviceFinder/MTConnect.NET-DeviceFinder.csproj b/libraries/MTConnect.NET-DeviceFinder/MTConnect.NET-DeviceFinder.csproj index 5b4324921..81c0e5fcb 100644 --- a/libraries/MTConnect.NET-DeviceFinder/MTConnect.NET-DeviceFinder.csproj +++ b/libraries/MTConnect.NET-DeviceFinder/MTConnect.NET-DeviceFinder.csproj @@ -45,6 +45,10 @@ True \ + + True + \ + diff --git a/libraries/MTConnect.NET-HTTP/MTConnect.NET-HTTP.csproj b/libraries/MTConnect.NET-HTTP/MTConnect.NET-HTTP.csproj index 8fe2432c8..7b8cfc2af 100644 --- a/libraries/MTConnect.NET-HTTP/MTConnect.NET-HTTP.csproj +++ b/libraries/MTConnect.NET-HTTP/MTConnect.NET-HTTP.csproj @@ -112,6 +112,10 @@ 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 97af06986..586d00f68 100644 --- a/libraries/MTConnect.NET-JSON-cppagent/MTConnect.NET-JSON-cppagent.csproj +++ b/libraries/MTConnect.NET-JSON-cppagent/MTConnect.NET-JSON-cppagent.csproj @@ -52,6 +52,10 @@ True \ + + True + \ + diff --git a/libraries/MTConnect.NET-JSON/MTConnect.NET-JSON.csproj b/libraries/MTConnect.NET-JSON/MTConnect.NET-JSON.csproj index 7874233e5..dd276f140 100644 --- a/libraries/MTConnect.NET-JSON/MTConnect.NET-JSON.csproj +++ b/libraries/MTConnect.NET-JSON/MTConnect.NET-JSON.csproj @@ -93,6 +93,10 @@ True \ + + True + \ + diff --git a/libraries/MTConnect.NET-MQTT/MTConnect.NET-MQTT.csproj b/libraries/MTConnect.NET-MQTT/MTConnect.NET-MQTT.csproj index b38908076..00ce36fcb 100644 --- a/libraries/MTConnect.NET-MQTT/MTConnect.NET-MQTT.csproj +++ b/libraries/MTConnect.NET-MQTT/MTConnect.NET-MQTT.csproj @@ -73,6 +73,10 @@ True \ + + True + \ + diff --git a/libraries/MTConnect.NET-MQTT/MTConnectMqttRelay.cs b/libraries/MTConnect.NET-MQTT/MTConnectMqttRelay.cs index 14804df53..1b858a8c4 100644 --- a/libraries/MTConnect.NET-MQTT/MTConnectMqttRelay.cs +++ b/libraries/MTConnect.NET-MQTT/MTConnectMqttRelay.cs @@ -214,7 +214,11 @@ private async Task Worker() // Add CA (Certificate Authority) if (!string.IsNullOrEmpty(_configuration.CertificateAuthority)) { +#if NET9_0_OR_GREATER + certificates.Add(X509CertificateLoader.LoadCertificateFromFile(GetFilePath(_configuration.CertificateAuthority))); +#else certificates.Add(new X509Certificate2(GetFilePath(_configuration.CertificateAuthority))); +#endif } // Add Client Certificate & Private Key @@ -222,7 +226,12 @@ private async Task Worker() { #if NET5_0_OR_GREATER + +#if NET9_0_OR_GREATER + certificates.Add(X509CertificateLoader.LoadCertificate(X509Certificate2.CreateFromPemFile(GetFilePath(_configuration.PemCertificate), GetFilePath(_configuration.PemPrivateKey)).Export(X509ContentType.Pfx))); +#else certificates.Add(new X509Certificate2(X509Certificate2.CreateFromPemFile(GetFilePath(_configuration.PemCertificate), GetFilePath(_configuration.PemPrivateKey)).Export(X509ContentType.Pfx))); +#endif clientOptionsBuilder.WithCleanSession(); clientOptionsBuilder.WithTlsOptions(b => b diff --git a/libraries/MTConnect.NET-SHDR/MTConnect.NET-SHDR.csproj b/libraries/MTConnect.NET-SHDR/MTConnect.NET-SHDR.csproj index 4eae6edba..d34003511 100644 --- a/libraries/MTConnect.NET-SHDR/MTConnect.NET-SHDR.csproj +++ b/libraries/MTConnect.NET-SHDR/MTConnect.NET-SHDR.csproj @@ -53,6 +53,10 @@ True \ + + True + \ + diff --git a/libraries/MTConnect.NET-Services/MTConnect.NET-Services.csproj b/libraries/MTConnect.NET-Services/MTConnect.NET-Services.csproj index b6f1d0eb2..67c8b1e14 100644 --- a/libraries/MTConnect.NET-Services/MTConnect.NET-Services.csproj +++ b/libraries/MTConnect.NET-Services/MTConnect.NET-Services.csproj @@ -56,6 +56,10 @@ True \ + + True + \ + diff --git a/libraries/MTConnect.NET-SysML/MTConnect.NET-SysML.csproj b/libraries/MTConnect.NET-SysML/MTConnect.NET-SysML.csproj index c0ea260e0..ee29e67af 100644 --- a/libraries/MTConnect.NET-SysML/MTConnect.NET-SysML.csproj +++ b/libraries/MTConnect.NET-SysML/MTConnect.NET-SysML.csproj @@ -49,6 +49,10 @@ True \ + + True + \ + diff --git a/libraries/MTConnect.NET-TLS/MTConnect.NET-TLS.csproj b/libraries/MTConnect.NET-TLS/MTConnect.NET-TLS.csproj index 18d6219c9..a4faafdf3 100644 --- a/libraries/MTConnect.NET-TLS/MTConnect.NET-TLS.csproj +++ b/libraries/MTConnect.NET-TLS/MTConnect.NET-TLS.csproj @@ -45,6 +45,10 @@ True \ + + True + \ + diff --git a/libraries/MTConnect.NET-XML/MTConnect.NET-XML.csproj b/libraries/MTConnect.NET-XML/MTConnect.NET-XML.csproj index 41e35537a..579c8151b 100644 --- a/libraries/MTConnect.NET-XML/MTConnect.NET-XML.csproj +++ b/libraries/MTConnect.NET-XML/MTConnect.NET-XML.csproj @@ -77,6 +77,10 @@ True \ + + True + \ + diff --git a/libraries/MTConnect.NET/MTConnect.NET.csproj b/libraries/MTConnect.NET/MTConnect.NET.csproj index 37c2c90e7..93977c674 100644 --- a/libraries/MTConnect.NET/MTConnect.NET.csproj +++ b/libraries/MTConnect.NET/MTConnect.NET.csproj @@ -56,6 +56,10 @@ True \ + + True + \ + From bb653bbf30cd2cd569a16afa695efefc5592f9e4 Mon Sep 17 00:00:00 2001 From: Patrick Ritchie Date: Thu, 25 Jun 2026 22:41:14 -0400 Subject: [PATCH 2/4] Updated to fix compile errors with .NET 9 --- .../Module.cs | 9 +++++++ .../Module.cs | 11 +++++++- .../Ceen/Httpd/LimitedBodyStream.cs | 8 +++++- .../Ceen/Httpd/ServerConfig.cs | 4 +++ .../Servers/MTConnectPostResponseHandler.cs | 5 ++++ .../Clients/MTConnectMqttExpandedClient.cs | 9 +++++++ .../MTConnect.NET-TLS/TlsConfiguration.cs | 27 ++++++++++++++++--- 7 files changed, 67 insertions(+), 6 deletions(-) diff --git a/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/Module.cs b/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/Module.cs index c6df0ac18..354d3673e 100644 --- a/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/Module.cs +++ b/adapter/Modules/MTConnect.NET-AdapterModule-MQTT/Module.cs @@ -109,14 +109,23 @@ private async Task Worker() // Add CA (Certificate Authority) if (!string.IsNullOrEmpty(_configuration.CertificateAuthority)) { +#if NET9_0_OR_GREATER + certificates.Add(X509CertificateLoader.LoadCertificateFromFile(GetFilePath(_configuration.CertificateAuthority))); +#else certificates.Add(new X509Certificate2(GetFilePath(_configuration.CertificateAuthority))); +#endif } // Add Client Certificate & Private Key if (!string.IsNullOrEmpty(_configuration.PemCertificate) && !string.IsNullOrEmpty(_configuration.PemPrivateKey)) { #if NET5_0_OR_GREATER + +#if NET9_0_OR_GREATER + certificates.Add(X509CertificateLoader.LoadCertificate(X509Certificate2.CreateFromPemFile(GetFilePath(_configuration.PemCertificate), GetFilePath(_configuration.PemPrivateKey)).Export(X509ContentType.Pfx))); +#else certificates.Add(new X509Certificate2(X509Certificate2.CreateFromPemFile(GetFilePath(_configuration.PemCertificate), GetFilePath(_configuration.PemPrivateKey)).Export(X509ContentType.Pfx))); +#endif clientOptionsBuilder.WithTlsOptions(b => b .WithSslProtocols(System.Security.Authentication.SslProtocols.Tls12) diff --git a/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/Module.cs b/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/Module.cs index 3a7f12c36..26a903a9f 100644 --- a/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/Module.cs +++ b/agent/Modules/MTConnect.NET-AgentModule-MqttAdapter/Module.cs @@ -132,14 +132,23 @@ private async Task Worker() // Add CA (Certificate Authority) if (!string.IsNullOrEmpty(_configuration.CertificateAuthority)) { +#if NET9_0_OR_GREATER + certificates.Add(X509CertificateLoader.LoadCertificateFromFile(GetFilePath(_configuration.CertificateAuthority))); +#else certificates.Add(new X509Certificate2(GetFilePath(_configuration.CertificateAuthority))); +#endif } // Add Client Certificate & Private Key if (!string.IsNullOrEmpty(_configuration.PemCertificate) && !string.IsNullOrEmpty(_configuration.PemPrivateKey)) { #if NET5_0_OR_GREATER + +#if NET9_0_OR_GREATER + certificates.Add(X509CertificateLoader.LoadCertificate(X509Certificate2.CreateFromPemFile(GetFilePath(_configuration.PemCertificate), GetFilePath(_configuration.PemPrivateKey)).Export(X509ContentType.Pfx))); +#else certificates.Add(new X509Certificate2(X509Certificate2.CreateFromPemFile(GetFilePath(_configuration.PemCertificate), GetFilePath(_configuration.PemPrivateKey)).Export(X509ContentType.Pfx))); +#endif clientOptionsBuilder.WithTlsOptions(b => b .WithSslProtocols(System.Security.Authentication.SslProtocols.Tls12) @@ -148,7 +157,7 @@ private async Task Worker() .WithAllowUntrustedCertificates(_configuration.AllowUntrustedCertificates) .WithClientCertificates(certificates)); #else - throw new Exception("PEM Certificates Not Supported in .NET Framework 4.8 or older"); + throw new Exception("PEM Certificates Not Supported in .NET Framework 4.8 or older"); #endif } diff --git a/libraries/MTConnect.NET-HTTP/Ceen/Httpd/LimitedBodyStream.cs b/libraries/MTConnect.NET-HTTP/Ceen/Httpd/LimitedBodyStream.cs index fb2fa0cc6..8f7d1fd2b 100644 --- a/libraries/MTConnect.NET-HTTP/Ceen/Httpd/LimitedBodyStream.cs +++ b/libraries/MTConnect.NET-HTTP/Ceen/Httpd/LimitedBodyStream.cs @@ -152,11 +152,17 @@ public async Task DiscardAllAsync(System.Threading.CancellationToken cance var buf = new byte[1024 * 8]; while (m_bytesleft > 0) + { +#if NET9_0_OR_GREATER + await ReadExactlyAsync(buf, 0, buf.Length, cancellationToken); +#else await ReadAsync(buf, 0, buf.Length, cancellationToken); +#endif + } return true; } - #endregion +#endregion } } diff --git a/libraries/MTConnect.NET-HTTP/Ceen/Httpd/ServerConfig.cs b/libraries/MTConnect.NET-HTTP/Ceen/Httpd/ServerConfig.cs index 2c63ab6c4..753cce92b 100644 --- a/libraries/MTConnect.NET-HTTP/Ceen/Httpd/ServerConfig.cs +++ b/libraries/MTConnect.NET-HTTP/Ceen/Httpd/ServerConfig.cs @@ -178,7 +178,11 @@ public ServerConfig() /// The certificate password. public void LoadCertificate(string path, string password) { +#if NET9_0_OR_GREATER + this.SSLCertificate = X509CertificateLoader.LoadPkcs12FromFile(path, password ?? ""); +#else this.SSLCertificate = new X509Certificate2(path, password ?? ""); +#endif } /// diff --git a/libraries/MTConnect.NET-HTTP/Servers/MTConnectPostResponseHandler.cs b/libraries/MTConnect.NET-HTTP/Servers/MTConnectPostResponseHandler.cs index 339739924..4040e4728 100644 --- a/libraries/MTConnect.NET-HTTP/Servers/MTConnectPostResponseHandler.cs +++ b/libraries/MTConnect.NET-HTTP/Servers/MTConnectPostResponseHandler.cs @@ -105,7 +105,12 @@ private static async Task ReadRequestBytes(Stream inputStream) { var bufferSize = 1048576 * 2; // 2 MB var bytes = new byte[bufferSize]; + +#if NET9_0_OR_GREATER + await inputStream.ReadExactlyAsync(bytes, 0, bytes.Length); +#else await inputStream.ReadAsync(bytes, 0, bytes.Length); +#endif return TrimEnd(bytes); } diff --git a/libraries/MTConnect.NET-MQTT/Clients/MTConnectMqttExpandedClient.cs b/libraries/MTConnect.NET-MQTT/Clients/MTConnectMqttExpandedClient.cs index e532a5344..3512a7558 100644 --- a/libraries/MTConnect.NET-MQTT/Clients/MTConnectMqttExpandedClient.cs +++ b/libraries/MTConnect.NET-MQTT/Clients/MTConnectMqttExpandedClient.cs @@ -290,7 +290,11 @@ private async Task Worker() // Add CA (Certificate Authority) if (!string.IsNullOrEmpty(_caCertPath)) { +#if NET9_0_OR_GREATER + certificates.Add(X509CertificateLoader.LoadCertificateFromFile(GetFilePath(_caCertPath))); +#else certificates.Add(new X509Certificate2(GetFilePath(_caCertPath))); +#endif } // Add Client Certificate & Private Key @@ -298,7 +302,12 @@ private async Task Worker() { #if NET5_0_OR_GREATER + +#if NET9_0_OR_GREATER + certificates.Add(X509CertificateLoader.LoadCertificate(X509Certificate2.CreateFromPemFile(GetFilePath(_pemClientCertPath), GetFilePath(_pemPrivateKeyPath)).Export(X509ContentType.Pfx))); +#else certificates.Add(new X509Certificate2(X509Certificate2.CreateFromPemFile(GetFilePath(_pemClientCertPath), GetFilePath(_pemPrivateKeyPath)).Export(X509ContentType.Pfx))); +#endif clientOptionsBuilder.WithTlsOptions(b => b .WithSslProtocols(System.Security.Authentication.SslProtocols.Tls12) diff --git a/libraries/MTConnect.NET-TLS/TlsConfiguration.cs b/libraries/MTConnect.NET-TLS/TlsConfiguration.cs index f6c3f3143..ffdf10504 100644 --- a/libraries/MTConnect.NET-TLS/TlsConfiguration.cs +++ b/libraries/MTConnect.NET-TLS/TlsConfiguration.cs @@ -81,8 +81,13 @@ private CertificateLoadResult GetPfxCertificate() { X509Certificate2 certificate; +#if NET9_0_OR_GREATER + if (!string.IsNullOrEmpty(Pfx.CertificatePassword)) certificate = X509CertificateLoader.LoadPkcs12FromFile(Pfx.CertificatePath, Pfx.CertificatePassword); + else certificate = X509CertificateLoader.LoadCertificateFromFile(Pfx.CertificatePath); +#else if (!string.IsNullOrEmpty(Pfx.CertificatePassword)) certificate = new X509Certificate2(Pfx.CertificatePath, Pfx.CertificatePassword); else certificate = new X509Certificate2(Pfx.CertificatePath); +#endif return CertificateLoadResult.Ok(certificate); } @@ -121,10 +126,17 @@ private CertificateLoadResult GetPemCertificate() certificate = null; #endif +#if NET9_0_OR_GREATER + // Export to Pkcs12 + var pfxPassword = Guid.NewGuid().ToString(); + var pkcsCert = certificate.Export(X509ContentType.Pkcs12, pfxPassword); + certificate = X509CertificateLoader.LoadPkcs12(pkcsCert, pfxPassword); +#else // Export to Pkcs12 var pfxPassword = Guid.NewGuid().ToString(); var pkcsCert = certificate.Export(X509ContentType.Pkcs12, pfxPassword); certificate = new X509Certificate2(pkcsCert, pfxPassword); +#endif return CertificateLoadResult.Ok(certificate); } @@ -145,16 +157,23 @@ private CertificateLoadResult GetPemCertificateAuthority() { X509Certificate2 certificate; -#if NET5_0_OR_GREATER +#if NET9_0_OR_GREATER + certificate = X509CertificateLoader.LoadCertificateFromFile(Pem.CertificateAuthority); + + // Export to Pkcs12 + var pfxPassword = Guid.NewGuid().ToString(); + var pkcsCert = certificate.Export(X509ContentType.Pkcs12, pfxPassword); + certificate = X509CertificateLoader.LoadPkcs12(pkcsCert, pfxPassword); +#elif NET5_0_OR_GREATER certificate = new X509Certificate2(Pem.CertificateAuthority); -#else - certificate = null; -#endif // Export to Pkcs12 var pfxPassword = Guid.NewGuid().ToString(); var pkcsCert = certificate.Export(X509ContentType.Pkcs12, pfxPassword); certificate = new X509Certificate2(pkcsCert, pfxPassword); +#else + certificate = null; +#endif return CertificateLoadResult.Ok(certificate); } From dafc37029538bcb6abcd0d7023d355d27a9f80e8 Mon Sep 17 00:00:00 2001 From: Patrick Ritchie Date: Thu, 25 Jun 2026 22:41:57 -0400 Subject: [PATCH 3/4] Updated Builder to stop on error --- build/MTConnect.NET.Builder/CommandLine.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/MTConnect.NET.Builder/CommandLine.cs b/build/MTConnect.NET.Builder/CommandLine.cs index 33bb30c76..386d23583 100644 --- a/build/MTConnect.NET.Builder/CommandLine.cs +++ b/build/MTConnect.NET.Builder/CommandLine.cs @@ -58,7 +58,7 @@ public static bool Run(string cmd, string workingDirectory, bool verbose) process.Close(); - return exitCode >= 0; + return exitCode == 0; } } } From 47cf36c0cf7b8d4e323df364e17d9616c781e38e Mon Sep 17 00:00:00 2001 From: Patrick Ritchie Date: Fri, 26 Jun 2026 00:56:10 -0400 Subject: [PATCH 4/4] Updated to add compatibility with .NET 10 --- .../MTConnect.NET-Adapter.csproj | 4 +-- .../MTConnect.NET-Applications-Adapter.csproj | 4 +-- .../MTConnect.NET-AdapterModule-MQTT.csproj | 4 +-- .../MTConnect.NET-AdapterModule-SHDR.csproj | 4 +-- .../MTConnect.NET-Agent.csproj | 4 +-- .../MTConnect.NET-Applications-Agents.csproj | 4 +-- ...Connect.NET-AgentModule-HttpAdapter.csproj | 4 +-- ...TConnect.NET-AgentModule-HttpServer.csproj | 4 +-- ...Connect.NET-AgentModule-MqttAdapter.csproj | 4 +-- ...TConnect.NET-AgentModule-MqttBroker.csproj | 4 +-- ...MTConnect.NET-AgentModule-MqttRelay.csproj | 4 +-- ...Connect.NET-AgentModule-ShdrAdapter.csproj | 4 +-- ...MTConnect.NET-AgentProcessor-Python.csproj | 4 +-- .../Parts/agent/installer/installer.iss | 12 +++++-- .../MTConnect.NET-Common.csproj | 4 +-- .../MTConnect.NET-DeviceFinder.csproj | 4 +-- .../MTConnect.NET-HTTP.csproj | 4 +-- .../MTConnect.NET-JSON-cppagent.csproj | 4 +-- .../MTConnect.NET-JSON.csproj | 4 +-- .../MTConnect.NET-MQTT.csproj | 34 +++++++++++++++++-- .../MTConnect.NET-SHDR.csproj | 4 +-- .../MTConnect.NET-Services.csproj | 4 +-- .../MTConnect.NET-SysML.csproj | 4 +-- .../MTConnect.NET-TLS.csproj | 4 +-- .../MTConnect.NET-XML.csproj | 4 +-- libraries/MTConnect.NET/MTConnect.NET.csproj | 4 +-- 26 files changed, 89 insertions(+), 53 deletions(-) diff --git a/adapter/MTConnect.NET-Adapter/MTConnect.NET-Adapter.csproj b/adapter/MTConnect.NET-Adapter/MTConnect.NET-Adapter.csproj index 896b89282..6108f5c5e 100644 --- a/adapter/MTConnect.NET-Adapter/MTConnect.NET-Adapter.csproj +++ b/adapter/MTConnect.NET-Adapter/MTConnect.NET-Adapter.csproj @@ -5,13 +5,13 @@ full - net461;net48;net6.0;net7.0;net8.0;net9.0 + net461;net48;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;net6.0;net7.0;net8.0;net9.0;net10.0 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 ac55d6d5b..d94f1b86a 100644 --- a/adapter/MTConnect.NET-Applications-Adapter/MTConnect.NET-Applications-Adapter.csproj +++ b/adapter/MTConnect.NET-Applications-Adapter/MTConnect.NET-Applications-Adapter.csproj @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 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 38c75feea..d74d5dd73 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 @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 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 772693ed2..17cd8ae42 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 @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 true diff --git a/agent/MTConnect.NET-Agent/MTConnect.NET-Agent.csproj b/agent/MTConnect.NET-Agent/MTConnect.NET-Agent.csproj index e4324583b..4c48d80c4 100644 --- a/agent/MTConnect.NET-Agent/MTConnect.NET-Agent.csproj +++ b/agent/MTConnect.NET-Agent/MTConnect.NET-Agent.csproj @@ -5,13 +5,13 @@ full - net461;net48;net6.0;net7.0;net8.0;net9.0 + net461;net48;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;net6.0;net7.0;net8.0;net9.0;net10.0 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 cdd934c4c..2b658f28e 100644 --- a/agent/MTConnect.NET-Applications-Agents/MTConnect.NET-Applications-Agents.csproj +++ b/agent/MTConnect.NET-Applications-Agents/MTConnect.NET-Applications-Agents.csproj @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 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 a702de3f7..46ca4b252 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 @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 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 70614490c..360ce16a4 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 @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 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 b587bd503..c56578ff5 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 @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 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 a6ccd3e47..5c8d33a71 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 @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 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 c251f84d9..73000f2a1 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 @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 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 6cc374d07..1e9a4784b 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 @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 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 eeec2bb61..96626e1b7 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 @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 true diff --git a/build/MTConnect.NET.Builder/Parts/agent/installer/installer.iss b/build/MTConnect.NET.Builder/Parts/agent/installer/installer.iss index 0eb4157c6..a037d8e21 100644 --- a/build/MTConnect.NET.Builder/Parts/agent/installer/installer.iss +++ b/build/MTConnect.NET.Builder/Parts/agent/installer/installer.iss @@ -65,6 +65,8 @@ CreateStartMenuIcon=Create a Start Menu icon CreateDesktopIcon=Create a Desktop icon [Types] +Name: "win64net10"; Description: "Windows x64 .NET 10" +Name: "win86net10"; Description: "Windows x86 .NET 10" Name: "win64net9"; Description: "Windows x64 .NET 9" Name: "win86net9"; Description: "Windows x86 .NET 9" Name: "win64net8"; Description: "Windows x64 .NET 8" @@ -79,6 +81,8 @@ Name: "win64net461"; Description: "Windows x64 .NET 4.6.1 Framework" Name: "win86net461"; Description: "Windows x86 .NET 4.6.1 Framework" [Components] +Name: "win64net10"; Description: "{#MyAppVerName}"; Types: win64net10 +Name: "win86net10"; Description: "{#MyAppVerName}"; Types: win86net10 Name: "win64net9"; Description: "{#MyAppVerName}"; Types: win64net9 Name: "win86net9"; Description: "{#MyAppVerName}"; Types: win86net9 Name: "win64net8"; Description: "{#MyAppVerName}"; Types: win64net8 @@ -91,9 +95,9 @@ Name: "win64net48"; Description: "{#MyAppVerName}"; Types: win64net48 Name: "win86net48"; Description: "{#MyAppVerName}"; Types: win86net48 Name: "win64net461"; Description: "{#MyAppVerName}"; Types: win64net461 Name: "win86net461"; Description: "{#MyAppVerName}"; Types: win86net461 -Name: "configuration"; Description: "Configuration Files"; Types: win86net461 win64net461 win86net48 win64net48 win86net6 win64net6 win86net7 win64net7 win86net8 win64net8 win86net9 win64net9 -Name: "schemas"; Description: "MTConnect XSD Schema Files"; Types: win86net461 win64net461 win86net48 win64net48 win86net6 win64net6 win86net7 win64net7 win86net8 win64net8 win86net9 win64net9 -Name: "styles"; Description: "XSL Stylesheet Files"; Types: win86net461 win64net461 win86net48 win64net48 win86net6 win64net6 win86net7 win64net7 win86net8 win64net8 win86net9 win64net9 +Name: "configuration"; Description: "Configuration Files"; Types: win86net461 win64net461 win86net48 win64net48 win86net6 win64net6 win86net7 win64net7 win86net8 win64net8 win86net9 win64net9 win86net10 win64net10 +Name: "schemas"; Description: "MTConnect XSD Schema Files"; Types: win86net461 win64net461 win86net48 win64net48 win86net6 win64net6 win86net7 win64net7 win86net8 win64net8 win86net9 win64net9 win86net10 win64net10 +Name: "styles"; Description: "XSL Stylesheet Files"; Types: win86net461 win64net461 win86net48 win64net48 win86net6 win64net6 win86net7 win64net7 win86net8 win64net8 win86net9 win64net9 win86net10 win64net10 [Languages] @@ -109,6 +113,8 @@ Name: "{app}\schemas"; Permissions: everyone-full [Files] ; Program Files +Source: "[INPUT_PATH]\win-x64\net10.0\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Permissions: everyone-full; Components: win64net10; +Source: "[INPUT_PATH]\win-x86\net10.0\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Permissions: everyone-full; Components: win86net10; Source: "[INPUT_PATH]\win-x64\net9.0\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Permissions: everyone-full; Components: win64net9; Source: "[INPUT_PATH]\win-x86\net9.0\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Permissions: everyone-full; Components: win86net9; Source: "[INPUT_PATH]\win-x64\net8.0\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Permissions: everyone-full; Components: win64net8; diff --git a/libraries/MTConnect.NET-Common/MTConnect.NET-Common.csproj b/libraries/MTConnect.NET-Common/MTConnect.NET-Common.csproj index fec53b821..2b3b615c8 100644 --- a/libraries/MTConnect.NET-Common/MTConnect.NET-Common.csproj +++ b/libraries/MTConnect.NET-Common/MTConnect.NET-Common.csproj @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 true diff --git a/libraries/MTConnect.NET-DeviceFinder/MTConnect.NET-DeviceFinder.csproj b/libraries/MTConnect.NET-DeviceFinder/MTConnect.NET-DeviceFinder.csproj index 81c0e5fcb..e07725b3d 100644 --- a/libraries/MTConnect.NET-DeviceFinder/MTConnect.NET-DeviceFinder.csproj +++ b/libraries/MTConnect.NET-DeviceFinder/MTConnect.NET-DeviceFinder.csproj @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 true diff --git a/libraries/MTConnect.NET-HTTP/MTConnect.NET-HTTP.csproj b/libraries/MTConnect.NET-HTTP/MTConnect.NET-HTTP.csproj index 7b8cfc2af..dd55800b0 100644 --- a/libraries/MTConnect.NET-HTTP/MTConnect.NET-HTTP.csproj +++ b/libraries/MTConnect.NET-HTTP/MTConnect.NET-HTTP.csproj @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 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 586d00f68..4a27e9f30 100644 --- a/libraries/MTConnect.NET-JSON-cppagent/MTConnect.NET-JSON-cppagent.csproj +++ b/libraries/MTConnect.NET-JSON-cppagent/MTConnect.NET-JSON-cppagent.csproj @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 true diff --git a/libraries/MTConnect.NET-JSON/MTConnect.NET-JSON.csproj b/libraries/MTConnect.NET-JSON/MTConnect.NET-JSON.csproj index dd276f140..de175985c 100644 --- a/libraries/MTConnect.NET-JSON/MTConnect.NET-JSON.csproj +++ b/libraries/MTConnect.NET-JSON/MTConnect.NET-JSON.csproj @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 true diff --git a/libraries/MTConnect.NET-MQTT/MTConnect.NET-MQTT.csproj b/libraries/MTConnect.NET-MQTT/MTConnect.NET-MQTT.csproj index 00ce36fcb..2be550076 100644 --- a/libraries/MTConnect.NET-MQTT/MTConnect.NET-MQTT.csproj +++ b/libraries/MTConnect.NET-MQTT/MTConnect.NET-MQTT.csproj @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 true @@ -58,12 +58,42 @@ by GHSA-hh2w-p6rv-4g7w. On netstandard2.0 and net48 the package is the only thing on the wire, so the override here closes the actual exposure surface. --> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libraries/MTConnect.NET-SHDR/MTConnect.NET-SHDR.csproj b/libraries/MTConnect.NET-SHDR/MTConnect.NET-SHDR.csproj index d34003511..a22ab056a 100644 --- a/libraries/MTConnect.NET-SHDR/MTConnect.NET-SHDR.csproj +++ b/libraries/MTConnect.NET-SHDR/MTConnect.NET-SHDR.csproj @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 true diff --git a/libraries/MTConnect.NET-Services/MTConnect.NET-Services.csproj b/libraries/MTConnect.NET-Services/MTConnect.NET-Services.csproj index 67c8b1e14..f84cbc2e1 100644 --- a/libraries/MTConnect.NET-Services/MTConnect.NET-Services.csproj +++ b/libraries/MTConnect.NET-Services/MTConnect.NET-Services.csproj @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 true diff --git a/libraries/MTConnect.NET-SysML/MTConnect.NET-SysML.csproj b/libraries/MTConnect.NET-SysML/MTConnect.NET-SysML.csproj index ee29e67af..5045ee92e 100644 --- a/libraries/MTConnect.NET-SysML/MTConnect.NET-SysML.csproj +++ b/libraries/MTConnect.NET-SysML/MTConnect.NET-SysML.csproj @@ -4,13 +4,13 @@ net8.0 - net6.0;net7.0;net8.0;net9.0 + net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net6.0;net7.0;net8.0;net9.0 + net6.0;net7.0;net8.0;net9.0;net10.0 true diff --git a/libraries/MTConnect.NET-TLS/MTConnect.NET-TLS.csproj b/libraries/MTConnect.NET-TLS/MTConnect.NET-TLS.csproj index a4faafdf3..56edaab52 100644 --- a/libraries/MTConnect.NET-TLS/MTConnect.NET-TLS.csproj +++ b/libraries/MTConnect.NET-TLS/MTConnect.NET-TLS.csproj @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 true diff --git a/libraries/MTConnect.NET-XML/MTConnect.NET-XML.csproj b/libraries/MTConnect.NET-XML/MTConnect.NET-XML.csproj index 579c8151b..4307e5eeb 100644 --- a/libraries/MTConnect.NET-XML/MTConnect.NET-XML.csproj +++ b/libraries/MTConnect.NET-XML/MTConnect.NET-XML.csproj @@ -4,13 +4,13 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 false None true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 true diff --git a/libraries/MTConnect.NET/MTConnect.NET.csproj b/libraries/MTConnect.NET/MTConnect.NET.csproj index 93977c674..ac643edb8 100644 --- a/libraries/MTConnect.NET/MTConnect.NET.csproj +++ b/libraries/MTConnect.NET/MTConnect.NET.csproj @@ -4,11 +4,11 @@ net8.0 - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 true - net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0 + net461;net462;net47;net471;net472;net48;netstandard2.0;net6.0;net7.0;net8.0;net9.0;net10.0 true