mz-automation / libiec61850

Official repository for libIEC61850, the open-source library for the IEC 61850 protocols
http://libiec61850.com/libiec61850
GNU General Public License v3.0
828 stars 444 forks source link

Nuget package plans? #490

Open andy1547 opened 6 months ago

andy1547 commented 6 months ago

We consume this library in a .NET Framework project, to make it useable we've had to create our own container project that references this project as a git submodule.

This container project calls cmake (to generate/build native assemblies), dotnet build (on the .NET wrapper project which uses P/Invoke), nuget pack, then finally nuget publish to our internal Nuget gallery. The published package contains the .NET framework wrapper assembly, the native assemblies (for both x86 and x64), aswell as our own .targets/.props file to handle copying these native assemblies to the bin folder.

It would be far easier if this Nuget package was published to the public gallery (it may increase adoption of this library, lowering the barrier of entry). Is this something which could be considered?

We noticed there's two separate .csproj files for the .NET wrapper projects, IEC61850.NET.core.2.0.csproj (targeting .NET standard 2.0) and IEC61850.NET.csproj (targeting .NET framework v4). Could these be consolidated into a single .csproj (using SDK format) that multitargets? For inspiration I recommend looking at this project https://github.com/confluentinc/confluent-kafka-dotnet/blob/master/src/Confluent.Kafka/Confluent.Kafka.csproj

Zeebrommer commented 3 months ago

This would indeed be useful. @andy1547 what keeps you from forking this project and publishing your version to Nuget?