Nager.Date supports over 100 countries (US, DE, FR, RU, UK, ...) the library is available for .net45 and .netstandard 2.0. The full country list is available on the github page.
Nuget
PM> install-package Nager.Date
Example:
Get all publicHolidays of a year
var publicHolidays = DateSystem.GetPublicHoliday(2018, CountryCode.DE);
Check if a date a public holiday
var date = new DateTime(2018, 01, 01);
if (DateSystem.IsPublicHoliday(date, CountryCode.DE))
{
//Yes - New Year's Day
}