Как проверить, был ли блок создан с помощью конфигурации Отладки или Выпуска?

Я запускаю развертывание своего веб-приложения, и я должен гарантировать, что все блоки, которые будут развернутыми, были созданы с помощью конфигурации Выпуска. Наша система была разработана с помощью C#/.Net 3.5.

Там какой-либо путь состоит в том, чтобы достигнуть этого?

42
задан ps2goat 22 October 2013 в 20:39
поделиться

3 ответа

Проверьте это . Идея состоит в том, что вы получаете список атрибутов сборки с помощью Assembly.GetCustomAttributes () и выполняете поиск DebuggableAttribute , а затем выясняете, имеет ли такой атрибут свойство IsJITTrackingEnabled .

    public bool IsAssemblyDebugBuild(Assembly assembly)
    {
        return assembly.GetCustomAttributes(false).OfType<DebuggableAttribute>().Any(da => da.IsJITTrackingEnabled);
    }
39
ответ дан 26 November 2019 в 23:45
поделиться

Не запускайте в производство через Visual Studio. Посмотрите на Непрерывная интеграция и скриптовые сборки (например, с NAnt, или что-нибудь более понятное, например, FAKE).

Ключ F5 не является сборочным процессом

Чтобы отвлечь внимание тех, кто считает, что это не отвечает на вопрос, ФП написал:

... Мне нужно гарантировать, что все сборки, которые будут Развернутые были построены с использованием конфигурации Release.

До гарантируйте , что используйте сервер сборки, такой как TeamCity и, возможно, инструмент управления выпуском, такой как Octopus Deploy . Блокируйте производственные системы, чтобы разработчики могли пройти официальный процесс сборки.

-1
ответ дан 26 November 2019 в 23:45
поделиться

Мне понравилось это предложение Дэвида , но вы могли также сделайте это ( AssemblyInfo.cs ):

#if DEBUG
[assembly: AssemblyDescription("Your application assembly (DEBUG version)")]
#else if RELEASE
[assembly: AssemblyDescription("Your application assembly (RELEASE version)")]
#endif

Это более удобно для человека, так как любой может щелкнуть правой кнопкой мыши эту сборку, выбрать Свойства и перейти к Подробности таб.

27
ответ дан 26 November 2019 в 23:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: