如何为发布和调试模式C#设置不同的全局变量值

Dea*_*ean 1 c# release visual-studio

我正在使用C#开发ASP.NET MVC Web应用程序.我有一个全局变量集,例如:

public static class Global
{
    public const string RootUrl = "http://url/";
}
Run Code Online (Sandbox Code Playgroud)

我想为发布和调试模式设置不同的值.谁能提出如何做到这一点的建议?

Vse*_*nin 8

您可以将预处理程序指令用于不同的调试/释放值.

#if DEBUG
   public const string RootUrl = "http://url/";
#else
   public const string RootUrl = "http://another/";
#endif
Run Code Online (Sandbox Code Playgroud)


Kon*_*osa 6

虽然这不是直接的答案,但您的问题似乎更多与配置相关,我建议使用web.config不同环境的配置.看看你的解决方案:

web.config.debug和web.config.release

此外,将设置存储在外部文件中要比将它们嵌入到应用程序的二进制文件中要好得多.如果其中一个URL发生了变化怎么办?您将不得不重新编译和部署新版本的应用程序.

最简单的方法是使用以下appSettings部分web.config:

<configuration>
  <appSettings>
    <add key="GlobalValue1" value="1" />
  </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)