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

3

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

public static class Global
{
    public const string RootUrl = "http://url/";
}

我想在发布模式和调试模式下设置不同的值。有人能给出如何实现的建议吗?

3
应用程序中不应硬编码URL。使用web.config,并针对调试和发布模式进行不同的配置。 - D Stanley
3个回答

13

您可以使用预处理器指令来为不同的调试/发布值进行设置。

#if DEBUG
   public const string RootUrl = "http://url/";
#else
   public const string RootUrl = "http://another/";
#endif

如果我有一个名为“Test”的配置,并且我想对该配置进行操作,那该怎么办? - Rishav

6
虽然这不是直接的答案,但你的问题似乎更与配置有关,我建议使用web.config配置来区分环境。看看你的解决方案:

web.config.debug and web.config.release

此外,将设置存储在外部文件中比将其嵌入应用程序二进制文件中要好得多。如果其中一个URL更改了怎么办?你将不得不重新编译和部署新版本的应用程序。
最简单的方法是在web.config中使用appSettings部分:
<configuration>
  <appSettings>
    <add key="GlobalValue1" value="1" />
  </appSettings>
</configuration>

0

我相信应该是以下内容:

#if !DEBUG
    // Your code here
#endif

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接