我在 Visual Studio 2010 中有一个 C# 项目,我希望使用适当的特定环境变量来运行/调试我的应用程序。
这让我觉得这是一个可能存在于某处的功能,但尽管进行了广泛的搜索,我还是找不到它。这个问题与 2008 年及以下有关,不包含对我有帮助的答案。这个问题与构建过程有关,而不是调试/运行的行为。
我很欣赏一种解决方法是使用适当的环境变量启动我的 IDE,但我宁愿从 IDE 控制它。这可能吗?
它不像从正在调试的应用程序外部设置它那样干净,但是您可以添加Main
类似这样的内容(注意,我是 VB 程序员):
#if (DEBUG)
Environment.SetEnvironmentVariable("YourVar", "YourVal");
#endif
这在 C++ IDE 中是可能的,而不是在 C# IDE 中。我猜它是故意省略的,因为 C# 有更好的方法来配置程序。环境变量很尴尬,因为它们需要在部署应用程序时修补用户系统环境的安装程序。这很脆弱,另一个安装程序可以很容易地破坏它,而且他们经常这样做。
C# 方式是使用应用程序设置。项目 + 属性,设置选项卡。
一种可能的替代方法是使用命令行参数。您将在 Main() 方法中获得它,在 Project + Properties 的 Debug 选项卡中指定一个值。
您仍然可以通过使用 C++ IDE 启动程序的技巧获得所需的内容:
对于在 Visual Studio 2013 下使用环境变量进行 C# 调试,我所做的是在 Visual Studio 下的开始菜单中打开“VS2013 的开发人员命令提示符”。从命令提示符设置我想要的环境变量,然后运行“devenv.exe”来启动 Studio。接下来打开一个解决方案并开始调试。
请记住,如果要更改环境变量,则需要停止调试,退出 Visual Studio,然后在打开的命令提示符下调整变量,然后重新开始。请记住,环境随着进程 (CMD.EXE) 启动下一个 (DEVENV.EXE) 和下一个 (YourApp) 向前移动。一开始的更改不会向前推进,您需要重新启动链。