Константы в .NET довольно странные.Когда вы определяете константу, компилятор применяет объектно-ориентированные соглашения в исходном коде, но когда компилятор создает сборки, любая сборка, которая ссылается на эту константу, включая сборку, в которой вы ее объявили, получает замену ссылки на константусо ссылкой на то же значение, хранящееся в манифесте локальной сборки (в котором хранится большинство «литералов»).Таким образом, константы эффективно сохраняются для каждой сборки и являются «статическими» для каждого использования этой константы в сборке.Проблема в том, что если вы измените константу, вы должны перекомпилировать любую сборку, которая ссылается на константу, чтобы обновить манифесты в других сборках.
Лично в вашем случае я бы определил это значение как статическое и выставил его через свойство.Это предотвратит простое вложение значения и вместо этого поместит его в статическую копию объекта, на который будет ссылаться из одного места любая сборка в текущем домене приложения, которая нуждается в нем (что в основном означает, что оно одинаково везде в приложении,за исключением некоторых особых случаев, связанных с пулами приложений или поддоменами).
Дополнительная информация: Насколько постоянны ваши константы?