Uvendia as NuGet package

Posted on October 20, 2019 by Sherlon Gerard

As you may have noticed, Uvendia E-commerce system can only be installed by NuGet.

Install-Package Uvendia.Domain 

I thought about making a complete Umbraco Installation Package for Uvendia E-commerce. But unfortunately, there are some disadvantages when installing a package using the Umbraco API:

  • You must select manually all the necessary assemblies (.dll) and content files or folders that are needed for your app to work. This action can be time consuming and error-sensitive.
  • It doesn’t automatically add the necessary assembly references to your Visual Studio. In most cases the entire bin folder is ignored by the .gitignore file, so the installed assemblies won’t be added to the source control. In case of a rebuild, all the assemblies will be deleted. Unless you do something to handle this.
  • If CI/CD is being used, the used assemblies will not be automatically downloaded and installed as part of the automated builds.

Based on these reasons, NuGet Packages is used to install Uvendia E-commerce. The only disadvantage of using NuGet is the fact that it doesn’t support creating Umbraco elements like Document Types or Data Types. Fortunately, this is not something needed for Uvendia.

For the Umbraco Team to move everything to NuGet Packages is "almost" impossible. Because the packages are installed in the Backoffice (tab: Packages). Why "almost", because it is still possible to do a directory file search, find the project file (.csproj) and add those references and content files programmatically. But this is tricky, it is not an easy task to implement.
In the meanwhile, when creating an Umbraco Installation Package is to choose what fits your setup the best. In this case is the NuGet Packages installation approach the best.