jnm2
NuGet publisher profile
Packages (9)
TaskTupleAwaiter
Enable using the new Value Tuple structure to write elegant code that allows async methods to be fired in parallel despite having different return types var (result1, result2) = await (GetStringAsync(), GetGuidAsync()); Based on the work of Joseph Musser https://github.com/jnm2
jnm2.ReferenceAssemblies.net35
A community answer to Microsoft’s decision to single out net35 by excluding it from the https://www.nuget.org/packages/Microsoft.NETFramework.ReferenceAssemblies/ package. This package provides the .NET Framework 3.5 reference assemblies so that net35 projects can be built using the dotnet CLI. Example project that targets multiple frameworks: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFrameworks>net35;net40;netstandard2.0;netcoreapp3.0</TargetFrameworks> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0" /> <PackageReference Include="jnm2.ReferenceAssemblies.net35" Version="1.0.1" /> </ItemGroup> </Project>
AsyncBridge.Net35
Deprecated. Use the unified package AsyncBridge instead.
AsyncBridge
C# 5 async/await support for .NET Framework pre-4.5 This package is now unified to include all functionality from AsyncBridge.Net35 and AsyncBridge.Portable.
DevExpressMods
Supports DevExpress XtraReports 17.2.4+ and hotfixes of 17.2.3 This project is now on track to be deprecated. What you need to know: https://github.com/jnm2/DevExpressMods/issues/23 Kudos to DevExpress for doing the right thing and providing a first-class experience! That was the goal I was hoping for when I went public with this project. Perhaps it made a difference. 🎉
AsyncBridge.Portable
Deprecated. Use the unified package AsyncBridge instead.
ApiContractGenerator.MSBuild
Generates readable external API contract text files for assemblies on build.
LowLevelHooking
Windows low level keyboard hooking component
AmbientTasks
Enables scoped completion tracking and error handling of tasks as an alternative to fire-and-forget and async void. Easy to produce and consume, and test-friendly.