From e1bf51beb965f0118a46184ab28edbf66b02fe5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Otto=20Boly=C3=B3s?= Date: Tue, 26 May 2026 10:27:36 +0200 Subject: [PATCH 1/2] fix(common): escape '&' in XML doc comments under Streams/ and adapter config Bare '&' in /// comments is interpreted as the start of an XML entity reference, triggering CS1570 ('badly formed XML in include comment') when GenerateDocumentationFile=true. Escape to '&' on every site. Also resolve a malformed nested tag in IAdapterApplicationConfiguration that produces 'Expected an end tag for element summary' on the same gate. These are silent warnings on master today; only the combination of GenerateDocumentationFile=true (planned via the documentation generation initiative) and TreatWarningsAsErrors=true turns them red. --- .../Configurations/IAdapterApplicationConfiguration.cs | 1 - libraries/MTConnect.NET-Common/Streams/DeviceStream.cs | 2 +- libraries/MTConnect.NET-Common/Streams/IComponentStream.cs | 2 +- libraries/MTConnect.NET-Common/Streams/IDeviceStream.cs | 2 +- .../MTConnect.NET-Common/Streams/IStreamsResponseDocument.cs | 2 +- .../MTConnect.NET-Common/Streams/Output/DeviceStreamOutput.cs | 2 +- .../Streams/Output/IComponentStreamOutput.cs | 2 +- .../MTConnect.NET-Common/Streams/Output/IDeviceStreamOutput.cs | 2 +- .../Streams/Output/IStreamsResponseOutputDocument.cs | 2 +- 9 files changed, 8 insertions(+), 9 deletions(-) diff --git a/libraries/MTConnect.NET-Common/Configurations/IAdapterApplicationConfiguration.cs b/libraries/MTConnect.NET-Common/Configurations/IAdapterApplicationConfiguration.cs index e0f6bc34d..1cf7c37d9 100644 --- a/libraries/MTConnect.NET-Common/Configurations/IAdapterApplicationConfiguration.cs +++ b/libraries/MTConnect.NET-Common/Configurations/IAdapterApplicationConfiguration.cs @@ -48,7 +48,6 @@ public interface IAdapterApplicationConfiguration : IDataSourceConfiguration bool EnableBuffer { get; set; } - /// /// /// Changes the service name when installing or removing the service. This allows multiple Adapters to run as services on the same machine. /// diff --git a/libraries/MTConnect.NET-Common/Streams/DeviceStream.cs b/libraries/MTConnect.NET-Common/Streams/DeviceStream.cs index ab22af5ea..8c2875926 100644 --- a/libraries/MTConnect.NET-Common/Streams/DeviceStream.cs +++ b/libraries/MTConnect.NET-Common/Streams/DeviceStream.cs @@ -27,7 +27,7 @@ public class DeviceStream : IDeviceStream public IEnumerable ComponentStreams { get; set; } /// - /// Gets All Observations (Samples, Events, & Conditions) + /// Gets All Observations (Samples, Events, & Conditions) /// public IEnumerable Observations { diff --git a/libraries/MTConnect.NET-Common/Streams/IComponentStream.cs b/libraries/MTConnect.NET-Common/Streams/IComponentStream.cs index fc9e62b75..0c43b9662 100644 --- a/libraries/MTConnect.NET-Common/Streams/IComponentStream.cs +++ b/libraries/MTConnect.NET-Common/Streams/IComponentStream.cs @@ -43,7 +43,7 @@ public interface IComponentStream string Uuid { get; } /// - /// Gets All Observations (Samples, Events, & Conditions) + /// Gets All Observations (Samples, Events, & Conditions) /// IEnumerable Observations { get; } diff --git a/libraries/MTConnect.NET-Common/Streams/IDeviceStream.cs b/libraries/MTConnect.NET-Common/Streams/IDeviceStream.cs index 697e01e9d..384f26709 100644 --- a/libraries/MTConnect.NET-Common/Streams/IDeviceStream.cs +++ b/libraries/MTConnect.NET-Common/Streams/IDeviceStream.cs @@ -27,7 +27,7 @@ public interface IDeviceStream IEnumerable ComponentStreams { get; } /// - /// Gets All Observations (Samples, Events, & Conditions) + /// Gets All Observations (Samples, Events, & Conditions) /// IEnumerable Observations { get; } diff --git a/libraries/MTConnect.NET-Common/Streams/IStreamsResponseDocument.cs b/libraries/MTConnect.NET-Common/Streams/IStreamsResponseDocument.cs index fea4b6a38..3c3b9f1cd 100644 --- a/libraries/MTConnect.NET-Common/Streams/IStreamsResponseDocument.cs +++ b/libraries/MTConnect.NET-Common/Streams/IStreamsResponseDocument.cs @@ -29,7 +29,7 @@ public interface IStreamsResponseDocument Version Version { get; } /// - /// Gets All Observations (Samples, Events, & Conditions) + /// Gets All Observations (Samples, Events, & Conditions) /// IEnumerable GetObservations(); } diff --git a/libraries/MTConnect.NET-Common/Streams/Output/DeviceStreamOutput.cs b/libraries/MTConnect.NET-Common/Streams/Output/DeviceStreamOutput.cs index 544193855..9fee9b7df 100644 --- a/libraries/MTConnect.NET-Common/Streams/Output/DeviceStreamOutput.cs +++ b/libraries/MTConnect.NET-Common/Streams/Output/DeviceStreamOutput.cs @@ -27,7 +27,7 @@ public class DeviceStreamOutput : IDeviceStreamOutput public IComponentStreamOutput[] ComponentStreams { get; set; } /// - /// Gets All Observations (Samples, Events, & Conditions) + /// Gets All Observations (Samples, Events, & Conditions) /// public IEnumerable Observations { diff --git a/libraries/MTConnect.NET-Common/Streams/Output/IComponentStreamOutput.cs b/libraries/MTConnect.NET-Common/Streams/Output/IComponentStreamOutput.cs index 465e56332..3abd40325 100644 --- a/libraries/MTConnect.NET-Common/Streams/Output/IComponentStreamOutput.cs +++ b/libraries/MTConnect.NET-Common/Streams/Output/IComponentStreamOutput.cs @@ -42,7 +42,7 @@ public interface IComponentStreamOutput string Uuid { get; } /// - /// Gets All Observations (Samples, Events, & Conditions) + /// Gets All Observations (Samples, Events, & Conditions) /// IObservationOutput[] Observations { get; } } diff --git a/libraries/MTConnect.NET-Common/Streams/Output/IDeviceStreamOutput.cs b/libraries/MTConnect.NET-Common/Streams/Output/IDeviceStreamOutput.cs index 751065102..6c4b030d6 100644 --- a/libraries/MTConnect.NET-Common/Streams/Output/IDeviceStreamOutput.cs +++ b/libraries/MTConnect.NET-Common/Streams/Output/IDeviceStreamOutput.cs @@ -27,7 +27,7 @@ public interface IDeviceStreamOutput IComponentStreamOutput[] ComponentStreams { get; } /// - /// Gets All Observations (Samples, Events, & Conditions) + /// Gets All Observations (Samples, Events, & Conditions) /// IEnumerable Observations { get; } } diff --git a/libraries/MTConnect.NET-Common/Streams/Output/IStreamsResponseOutputDocument.cs b/libraries/MTConnect.NET-Common/Streams/Output/IStreamsResponseOutputDocument.cs index 050d8a864..73311ebcc 100644 --- a/libraries/MTConnect.NET-Common/Streams/Output/IStreamsResponseOutputDocument.cs +++ b/libraries/MTConnect.NET-Common/Streams/Output/IStreamsResponseOutputDocument.cs @@ -29,7 +29,7 @@ public interface IStreamsResponseOutputDocument Version Version { get; } /// - /// Gets All Observations (Samples, Events, & Conditions) + /// Gets All Observations (Samples, Events, & Conditions) /// IEnumerable GetObservations(); From 4644f4fdf3e7f50cda0bda5801e44337f168f01f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Otto=20Boly=C3=B3s?= Date: Tue, 26 May 2026 10:28:32 +0200 Subject: [PATCH 2/2] fix(sysml): drop orphan 'logger' param tags on XmiDeserializer XmiDeserializer's ctor + the two static factory methods carry tags that reference a parameter that no longer exists on any of the three signatures (and an for a type the project doesn't reference). Under GenerateDocumentationFile=true these produce CS1572 ('param tag for logger, but there is no parameter by that name') and CS1574 ('cref ILogger could not be resolved') at every site; the combined gate of TreatWarningsAsErrors=true (planned via the warning-cleanup initiative) makes them break the build. Drop the orphan lines; the surviving param tags already cover every real parameter. --- libraries/MTConnect.NET-SysML/Xmi/XmiDeserializer.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/libraries/MTConnect.NET-SysML/Xmi/XmiDeserializer.cs b/libraries/MTConnect.NET-SysML/Xmi/XmiDeserializer.cs index fc3fe6467..cff2bf9b8 100644 --- a/libraries/MTConnect.NET-SysML/Xmi/XmiDeserializer.cs +++ b/libraries/MTConnect.NET-SysML/Xmi/XmiDeserializer.cs @@ -18,7 +18,6 @@ public sealed class XmiDeserializer /// Constructs a new instance of the deserializer with a reference to the source document. /// /// A source of XMI to deserialize - /// public XmiDeserializer(XmlDocument xmlDocument) { xDoc = xmlDocument; @@ -78,7 +77,6 @@ public XmiDeserializer(XmlDocument xmlDocument) /// Creates a from a reference to the filepath of a XMI document. /// /// Filepath to a XMI-formatted XML document. - /// /// public static XmiDeserializer FromFile(string filename) { @@ -106,7 +104,6 @@ public static XmiDeserializer FromFile(string filename) /// Creates a from raw XML. /// /// Raw XML string - /// /// public static XmiDeserializer FromXml(string xml) {