Код: Выделить всё
#if MY_SYMBOL
public MyConstructor() : base(ArgumentOne) { }
#else
public MyConstructor() : base(ArgumentTwo)
{
throw new Exception("A compilation-time tier symbol must be set");
}
#endif
Однако, если я сделаю это в своем файле csproj вот так...
Код: Выделить всё
$(DefineConstants);MY_SYMBOL
В чем причина этого? Я пытаюсь реализовать сценарий, в котором у меня есть символ по умолчанию в моей локальной среде разработки, а затем передать собственный символ через dotnet run в моем файле Dockerfile для сред развертывания. Есть ли лучший и более надежный подход?
Подробнее здесь: https://stackoverflow.com/questions/787 ... -in-csproj