У меня был этот код в Visual Studio 2015, и он работал нормально. Когда я перенес проект на 2017 год, он перестал работать. В основном это предполагает DEBUG, даже когда в режиме выпуска. В свойствах сборки постоянная Define DEBUG выбрана для DEBUG (как и должно быть), но не выбрана для Release, но когда я меняю конфигурации, она все равно показывает DEBUG. и все остальное затемнено.
#if DEBUG
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("ODLConnection")));
#else
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("ODLConnectionRealProduction")));
#endif