Skip to content

Commit a71cb5e

Browse files
authored
Merge pull request #482 from memrecakal/master: Fix Build Errors and Add Multi-Framework Targeting
## [2.1.1] - 02.06.2025 ### Added - Multi-framework targeting support, new .NET Standard 2.1 alongside .NET 8.0. - Updated dependencies, including but not limited to: - Microsoft.Bcl.AsyncInterfaces 9.0.5. - NUnit 4.3.2. - NUnit3TestAdapter 5.0.0. - System.Runtime.CompilerServices.Unsafe 6.1.2. - System.Text.Encodings.Web 9.0.5. - System.Text.Json 9.0.5. - System.Threading.Channels 9.0.5. - System.IO.Pipelines 9.0.5. - websocket-sharp 1.0.3-rc11 ### Fixed - Separate *Editor* and *Runtime* codes (`UnityFibonacciAction*.cs`), which caused build errors for Android and Windows. - Various wiki enhancements.
2 parents a8c5e50 + e345f33 commit a71cb5e

34 files changed

+160
-96
lines changed

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,5 +74,5 @@ available at [http://contributor-covenant.org/version/1/4][version]
7474
[homepage]: http://contributor-covenant.org
7575
[version]: http://contributor-covenant.org/version/1/4/
7676
---
77-
© Siemens AG, 2017-2024
77+
© Siemens AG, 2017-2025
7878

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,5 @@ Please send your suggested documentation, preferably in markdown format, to the
3131

3232
---
3333

34-
© Siemens AG, 2017-2024
34+
© Siemens AG, 2017-2025
3535

Libraries/MessageGeneration/MessageGeneration.csproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0</TargetFramework>
3+
<TargetFrameworks>net8.0;netstandard2.1</TargetFrameworks>
44
<OutputType>Library</OutputType>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<Configurations>Debug;Release;ROS2</Configurations>
@@ -11,10 +11,10 @@
1111
<Description>.NET Library for generating C# source code for ROS message/service/action</Description>
1212
<Company>Siemens AG</Company>
1313
<Product>ROS#</Product>
14-
<Copyright>Copyright © 2024</Copyright>
15-
<AssemblyVersion>2.1.0.0</AssemblyVersion>
16-
<FileVersion>2.1.0.0</FileVersion>
17-
<Version>2.1.0</Version>
14+
<Copyright>Copyright © 2025</Copyright>
15+
<AssemblyVersion>2.1.1.0</AssemblyVersion>
16+
<FileVersion>2.1.1.0</FileVersion>
17+
<Version>2.1.1</Version>
1818
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
1919
<PackageId>Siemens.RosSharp.MessageGeneration</PackageId>
2020
<Title>MessageGeneration</Title>

Libraries/MessageGenerationConsoleTool/MessageGenerationConsoleTool.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0</TargetFramework>
3+
<TargetFrameworks>net8.0;netstandard2.1</TargetFrameworks>
44
<OutputType>Exe</OutputType>
55
<AssemblyName>RosMsgGen</AssemblyName>
66
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
@@ -12,9 +12,9 @@
1212
<Description>Console tool for generating C# source code for ROS message/service/action.</Description>
1313
<Company>Siemens AG</Company>
1414
<Product>ROS#</Product>
15-
<Copyright>Copyright © 2024</Copyright>
16-
<AssemblyVersion>2.1.0.0</AssemblyVersion>
17-
<FileVersion>2.1.0.0</FileVersion>
15+
<Copyright>Copyright © 2025</Copyright>
16+
<AssemblyVersion>2.1.1.0</AssemblyVersion>
17+
<FileVersion>2.1.1.0</FileVersion>
1818
</PropertyGroup>
1919
<ItemGroup>
2020
<ProjectReference Include="..\MessageGeneration\MessageGeneration.csproj" />

Libraries/RosBridgeClient/RosBridgeClient.csproj

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0</TargetFramework>
3+
<TargetFrameworks>net8.0;netstandard2.1</TargetFrameworks>
44
<OutputType>Library</OutputType>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<Configurations>Debug;Release;ROS2</Configurations>
@@ -11,10 +11,10 @@
1111
<Description>.NET API to ROS via rosbridge_suite</Description>
1212
<Company>Siemens AG</Company>
1313
<Product>ROS#</Product>
14-
<Copyright>Copyright © 2024</Copyright>
15-
<AssemblyVersion>2.1.0.0</AssemblyVersion>
16-
<FileVersion>2.1.0.0</FileVersion>
17-
<Version>2.1.0</Version>
14+
<Copyright>Copyright © 2025</Copyright>
15+
<AssemblyVersion>2.1.1.0</AssemblyVersion>
16+
<FileVersion>2.1.1.0</FileVersion>
17+
<Version>2.1.1</Version>
1818
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
1919
<PackageId Condition="'$(Configuration)' == 'ROS2'">Siemens.RosSharp.RosBridgeClient.ROS2</PackageId>
2020
<PackageId Condition="'$(Configuration)' == 'Release'">Siemens.RosSharp.RosBridgeClient.ROS1</PackageId>
@@ -39,15 +39,13 @@
3939
</PropertyGroup>
4040
<ItemGroup>
4141
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
42-
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
42+
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.5" />
4343
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
44-
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" />
45-
<PackageReference Include="System.Text.Encodings.Web" Version="8.0.0" />
46-
<PackageReference Include="System.Text.Json" Version="8.0.5" />
47-
<PackageReference Include="System.Threading.Channels" Version="8.0.0" />
48-
</ItemGroup>
49-
<ItemGroup>
50-
<PackageReference Include="WebSocketSharp-netstandard" Version="1.0.1" />
44+
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.2" />
45+
<PackageReference Include="System.Text.Encodings.Web" Version="9.0.5" />
46+
<PackageReference Include="System.Text.Json" Version="9.0.5" />
47+
<PackageReference Include="System.Threading.Channels" Version="9.0.5" />
48+
<PackageReference Include="WebSocketSharp" Version="1.0.3-rc11" />
5149
</ItemGroup>
5250
<ItemGroup>
5351
<Folder Include="MessageTypes\ROS2\" />

Libraries/RosBridgeClientTest/RosBridgeClientTest.csproj

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0</TargetFramework>
4-
<OutputType>Exe</OutputType>
3+
<TargetFramework>net8.0</TargetFramework>
4+
<OutputType>Exe</OutputType>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<Configurations>Debug;Release;ROS2</Configurations>
77
</PropertyGroup>
@@ -16,9 +16,9 @@
1616
<AssemblyTitle>RosBridgeClientTest</AssemblyTitle>
1717
<Company>Siemens AG</Company>
1818
<Product>ROS#</Product>
19-
<Copyright>Copyright © 2021</Copyright>
20-
<AssemblyVersion>2.1.0.0</AssemblyVersion>
21-
<FileVersion>2.1.0.0</FileVersion>
19+
<Copyright>Copyright © 2025</Copyright>
20+
<AssemblyVersion>2.1.1.0</AssemblyVersion>
21+
<FileVersion>2.1.1.0</FileVersion>
2222
</PropertyGroup>
2323
<ItemGroup>
2424
<ProjectReference Include="..\RosBridgeClient\RosBridgeClient.csproj" />
@@ -29,17 +29,18 @@
2929
<ItemGroup>
3030
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
3131
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
32-
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
32+
<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.5" />
3333
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
34-
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" />
35-
<PackageReference Include="System.Text.Encodings.Web" Version="8.0.0" />
34+
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.2" />
35+
<PackageReference Include="System.Text.Encodings.Web" Version="9.0.5" />
3636
</ItemGroup>
3737
<ItemGroup>
38-
<PackageReference Include="NUnit" Version="3.12.0" />
39-
<PackageReference Include="NUnit3TestAdapter" Version="3.16.1" />
40-
<PackageReference Include="System.Text.Json" Version="8.0.5" />
38+
<PackageReference Include="NUnit" Version="4.3.2" />
39+
<PackageReference Include="NUnit3TestAdapter" Version="5.0.0" />
40+
<PackageReference Include="System.Text.Json" Version="9.0.5" />
4141
<PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" />
42-
<PackageReference Include="System.Threading.Channels" Version="8.0.0" />
42+
<PackageReference Include="System.Threading.Channels" Version="9.0.5" />
43+
<PackageReference Include="WebSocketSharp" Version="1.0.3-rc11" />
4344
</ItemGroup>
4445
<ItemGroup>
4546
<Compile Remove="RosSocketUrdfImporterExample.cs" />

Libraries/RosBridgeClientTest/RosCommunicationTests.cs

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,9 @@ public void PublicationTest()
6060
string json = JsonSerializer.Serialize(comm); // for system.text.json
6161

6262
#if !ROS2
63-
Assert.AreEqual("{\"topic\":\"mytopic\",\"msg\":{\"secs\":0,\"nsecs\":0},\"op\":\"publish\",\"id\":\"myid\"}",
64-
json);
63+
Assert.That(json, Is.EqualTo("{\"topic\":\"mytopic\",\"msg\":{\"secs\":0,\"nsecs\":0},\"op\":\"publish\",\"id\":\"myid\"}"));
6564
#else
66-
Assert.AreEqual("{\"topic\":\"mytopic\",\"msg\":{\"sec\":0,\"nanosec\":0},\"op\":\"publish\",\"id\":\"myid\"}",
67-
json);
65+
Assert.That(json, Is.EqualTo("{\"topic\":\"mytopic\",\"msg\":{\"sec\":0,\"nanosec\":0},\"op\":\"publish\",\"id\":\"myid\"}"));
6866
#endif
6967
//Console.WriteLine("JSON:\n" + JsonConvert.SerializeObject(comm, Formatting.Indented) + "\n"); // for newtonsoft
7068
Console.WriteLine("JSON:\n" + JsonSerializer.Serialize(comm, JsonOptions) + "\n"); // for system.text.json
@@ -77,9 +75,9 @@ public void SubscriptionTest()
7775
//string json = JsonConvert.SerializeObject(comm); // for newtonsoft
7876
string json = JsonSerializer.Serialize(comm); // for system.text.json
7977

80-
Assert.AreEqual("{\"topic\":\"mytopic\",\"type\":\"mytype\",\"throttle_rate\":0,\"queue_length\":1," +
81-
"\"fragment_size\":2147483647,\"compression\":\"none\",\"op\":\"subscribe\",\"id\":\"myid\"}",
82-
json);
78+
Assert.That(json, Is.EqualTo("{\"topic\":\"mytopic\",\"type\":\"mytype\",\"throttle_rate\":0,\"queue_length\":1," +
79+
"\"fragment_size\":2147483647,\"compression\":\"none\",\"op\":\"subscribe\",\"id\":\"myid\"}"));
80+
8381
//Console.WriteLine("JSON:\n" + JsonConvert.SerializeObject(comm, Formatting.Indented) + "\n"); // for newtonsoft
8482
Console.WriteLine("JSON:\n" + JsonSerializer.Serialize(comm, JsonOptions) + "\n"); // for system.text.json
8583
}
@@ -92,13 +90,11 @@ public void ServiceCallTest()
9290
string json = JsonSerializer.Serialize(comm); // for system.text.json
9391

9492
#if !ROS2
95-
Assert.AreEqual("{\"service\":\"myservice\",\"args\":{\"secs\":0,\"nsecs\":0}," +
96-
"\"fragment_size\":2147483647,\"compression\":\"none\",\"op\":\"call_service\",\"id\":\"myid\"}",
97-
json);
93+
Assert.That(json, Is.EqualTo("{\"service\":\"myservice\",\"args\":{\"secs\":0,\"nsecs\":0}," +
94+
"\"fragment_size\":2147483647,\"compression\":\"none\",\"op\":\"call_service\",\"id\":\"myid\"}"));
9895
#else
99-
Assert.AreEqual("{\"service\":\"myservice\",\"args\":{\"sec\":0,\"nanosec\":0}," +
100-
"\"fragment_size\":2147483647,\"compression\":\"none\",\"op\":\"call_service\",\"id\":\"myid\"}",
101-
json);
96+
Assert.That(json, Is.EqualTo("{\"service\":\"myservice\",\"args\":{\"sec\":0,\"nanosec\":0}," +
97+
"\"fragment_size\":2147483647,\"compression\":\"none\",\"op\":\"call_service\",\"id\":\"myid\"}"));
10298
#endif
10399
//Console.WriteLine("JSON:\n" + JsonConvert.SerializeObject(comm, Formatting.Indented) + "\n"); // for newtonsoft
104100
Console.WriteLine("JSON:\n" + JsonSerializer.Serialize(comm, JsonOptions) + "\n"); // for system.text.json

Libraries/RosBridgeClientTest/RosSocketTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public void PublicationTest()
6363
RosSocket.Publish(id, message);
6464
RosSocket.Unadvertise(id);
6565
Thread.Sleep(100);
66-
Assert.IsTrue(true);
66+
Assert.That(true, Is.True);
6767
}
6868

6969
[Test]
@@ -74,7 +74,7 @@ public void SubscriptionTest()
7474
OnMessageReceived.Reset();
7575
RosSocket.Unsubscribe(id);
7676
Thread.Sleep(100);
77-
Assert.IsTrue(true);
77+
Assert.That(true, Is.True);
7878
}
7979

8080
[Test]
@@ -83,7 +83,7 @@ public void ServiceCallTest()
8383
RosSocket.CallService<rosapi.GetParamRequest, rosapi.GetParamResponse>("/rosapi/get_param", ServiceCallHandler, new rosapi.GetParamRequest("/rosdistro", "default"));
8484
OnServiceReceived.WaitOne();
8585
OnServiceReceived.Reset();
86-
Assert.IsTrue(true);
86+
Assert.That(true, Is.True);
8787
}
8888

8989
[Test]
@@ -93,7 +93,7 @@ public void ServiceResponseTest()
9393
OnServiceProvided.WaitOne();
9494
OnServiceProvided.Reset();
9595
RosSocket.UnadvertiseService(id);
96-
Assert.IsTrue(true);
96+
Assert.That(true, Is.True);
9797
}
9898

9999
private void SubscriptionHandler(std_msgs.String message)

Libraries/Urdf/Urdf.csproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0</TargetFramework>
3+
<TargetFrameworks>net8.0;netstandard2.1</TargetFrameworks>
44
<OutputType>Library</OutputType>
55
<RootNamespace>RosSharp.Urdf</RootNamespace>
66
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
@@ -12,10 +12,10 @@
1212
<Description>URDF file parser for .NET applications</Description>
1313
<Company>Siemens AG</Company>
1414
<Product>ROS#</Product>
15-
<Copyright>Copyright © 2024</Copyright>
16-
<AssemblyVersion>2.1.0.0</AssemblyVersion>
17-
<FileVersion>2.1.0.0</FileVersion>
18-
<Version>2.1.0</Version>
15+
<Copyright>Copyright © 2025</Copyright>
16+
<AssemblyVersion>2.1.1.0</AssemblyVersion>
17+
<FileVersion>2.1.1.0</FileVersion>
18+
<Version>2.1.1</Version>
1919
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
2020
<PackageId>Siemens.RosSharp.Urdf</PackageId>
2121
<Title>Urdf</Title>

Libraries/UrdfTest/UrdfTest.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0</TargetFramework>
4-
<OutputType>Exe</OutputType>
3+
<TargetFrameworks>net8.0;netstandard2.1</TargetFrameworks>
4+
<OutputType>Exe</OutputType>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<AssemblyTitle>UrdfImporterTest</AssemblyTitle>
77
<Company>Siemens AG</Company>

0 commit comments

Comments
 (0)