rticommunity / rticommunity/rticonnextdds-examples
C# persistence examples need an update for native .NET5 compatibility
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 148
- Forks
- 153
- PR merge metrics
- No merged PRs in 30d
Description
The README calls rtiddsgen -language c# -example x64Win64VS2013 -ppDisable hello_world.idl which results in an error indicating an incompatibility between the C# language parameter and the Windows platform example parameter (I used a x64Win64VS2017).
Similarly, the README states that a solution file with three VS project files are created, one called "hello_world_type-dotnet4.0.vcxproj" to be compiled with VS C++, and pub and sub examples to be compiled with VS C#. This also indicates an architecture-dependent example backed by C++.
I was able to recreate the issue by essentially following our .NET5 workflow: I ran rtiddsgen -language c# -example net5 -ppDisable hello_world.idl and then removing the generated publisher and subscriber.cs files, to use the ones provided in the repo. When running a "dotnet build" command, one of the first issues is that the DDS namespace on line 55 of the subscriber can not be found:
The type or namespace name 'DDS' could not be found (are you missing a using directive or an assembly reference?
Again, I assume this is due to differences in the generated .NET5 subscriber and what's provided in the example, which was dependent on a workflow that produced platform-dependent files.
To fix this, I generated sample C# .NET5 applications for 6.1.1, replicated the command line parameters of the existing applications, and added some logic to select the appropriate QoS profile based the DWH parameter in the publisher app and the DRS parameter in the subscriber app.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the README command examples and the provided publisher and subscriber C# files, then reproduce the rtiddsgen -language c# -example net5 -ppDisable hello_world.idl workflow described in the issue. Compare the generated .NET5 applications with the repository examples and run dotnet build; done means the examples build without the missing DDS namespace error and the documented workflow matches native .NET5 compatibility.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100