A melhor maneira de detectar uma compilação de lançamento a partir de uma compilação de depuração?.líquido
Pergunta
Portanto, tenho cerca de 10 arquivos CSS curtos que uso com o aplicativo mvc.Existem erros.css login.css etc ...Apenas alguns arquivos CSS bem curtos que facilitam a atualização e a edição (pelo menos para mim).O que eu quero é algo que otimize o ramo if else e não o incorpore nos bits finais.Eu quero fazer algo assim
if(Debug.Mode){
<link rel="stylesheet" type="text/css" href="error.css" />
<link rel="stylesheet" type="text/css" href="login.css" />
<link rel="stylesheet" type="text/css" href="menu.css" />
<link rel="stylesheet" type="text/css" href="page.css" />
} else {
<link rel="stylesheet" type="text/css" href="site.css" />
}
Terei uma tarefa msbuild que irá combinar todos os arquivos css, minimizá-los e todas essas coisas boas.Eu só preciso saber se existe uma maneira de remover a ramificação if else nas partes finais.
Solução
Especificamente, assim em C#:
#if (DEBUG)
Debug Stuff
#endif
C# possui as seguintes diretivas de pré-processador:
#if
#else
#elif // Else If
#endif
#define
#undef // Undefine
#warning // Causes the preprocessor to fire warning
#error // Causes the preprocessor to fire a fatal error
#line // Lets the preprocessor know where this source line came from
#region // Codefolding
#endregion
Outras dicas
if (System.Diagnostics.Debugger.IsAttached)
{
// Do this
}
else
{
// Do that
}
Eu deveria ter usado o Google.
#if DEBUG
Console.WriteLine("Debug mode.")
#else
Console.WriteLine("Release mode.")
#endif
Certifique-se de que a opção "Configuration settings" -> "Build" "Define DEBUG constant" nas propriedades do projeto é marcado.
Você pode tentar usar
HttpContext.Current.IsDebuggingEnabled
ele é controlado por um nó na configuração.Na minha opinião, esta é uma solução melhor do que a compilação condicional.
No entanto, se você quiser controlar com base em uma compilação, acho que você pode usar um Atributo Condicional.
Cumprimentos,
Constantes do compilador.Não me lembro da sintaxe do C#, mas é assim que faço no VB:
#If CONFIG = "Debug" Then
'do somtehing
#Else
'do something else
#EndIf