keenlabs / keen-sdk-net

A .NET SDK for the Keen IO API
MIT License
37 stars 24 forks source link

Figure out NuGet packaging with netstandard #99

Closed masojus closed 6 years ago

masojus commented 6 years ago

At a minimum we need to make sure the NuGet package has the new binary, and probably won't have some or all of the old binaries.

However, there's also the question of using the new PackageReference and NuGet properties that can be described in the .csproj file and the latest versions of NuGet (4+). For example, you can put most or all of the .nuspec in the project file now, but there are caveats.

What happens if we're using <PackageReference> but a consumer tries to use a NuGet v2.x to download our package? What about substitution of variables--right now we pass in a substitution for the $version$ on the command line when we execute nuget.exe.

masojus commented 6 years ago

https://docs.microsoft.com/en-us/nuget/schema/msbuild-targets

masojus commented 6 years ago

With PR #125 this is mostly done, but we're still building two NuGet packages: the old one with .nuspec and the PCL/.NET 4.5/.NET 3.5 artifacts in it, and the new one with the multi-targeted netstandard2.0+netfx45 projects using .csproj-based NuGet specification. Once we flip the switch and only build/publish the new stuff, this is done.

masojus commented 6 years ago

We should solve the naming issue when we flip the switch too--the .NET 4.5 binary built by the multi-targeted .csproj has the name Keen.NetStandard.dll due to the project name, which is strange. This is also called out in Issue #73.

masojus commented 6 years ago

Renaming the dll is fixed in PR #136 with commit 55b8985, so this is complete.