Я создаю и распространю сборку для других разработчиков. Я распространяю версию Release моей сборки (а не отладки). В одном из классов моей сборки, у меня есть набор кодов для работы только в режиме отладки с помощьюDEBUG vs RELEASE and distribution Assembly
#if DEBUG
Console.WriteLine("Debug");
#else
Console.WriteLine("Release");
#endif
Если другие разработчики ссылаются моя сборка из своего проекта и запустить свой проект в режиме отладки, будет ли мой отладки только условно бежать или нет?
Если вы распространяете версию своего RELEASE кода, это невозможно, потому что этот код был удален компилятором во время сборки – Steve
. Они являются предкомпилятором. Поэтому они обрабатываются во время компиляции. Таким образом, не-отладочная версия будет удалена из сборки при ее компиляции. – Liam
Это проблема XY. Используйте «Debugger.IsAttached» для выполнения проверки времени выполнения. Немного разные семантики, но, возможно, это то, что вы хотите? Не могу сказать точно, вопрос не указан. –