chucknorris / roundhouse

RoundhousE is a Database Migration Utility for .NET using sql files and versioning based on source control
http://projectroundhouse.org
916 stars 249 forks source link

Nuget all the things - no more ILMerge #370

Closed erikbra closed 5 years ago

erikbra commented 5 years ago

There have been multiple issues with ILMerge-ing the assemblies, both the roundhouse lib and rh.exe. This PR splits up roundhouse.lib in multiple nuget packages, so that the consumers can depend on only the one they need, and not pull inn dependencies to totally different database providers.

It also uses Fody/Costura instead of ILMerge, as ILMerge seems to not keep up with the developments in other nuget packages, they stop working when ILMerge-d because of usage of reflection internally. Fody/Costura embeds the dependencies as Assembly resources (compressed) instead of merging them, and injects code to use the embedded assemblied on assembly loading.

Some rewrites to simplify deploy and dependency management

Packaging restructuring