16

我在 Visual Studio 2010 中有一个 C# 项目,我希望使用适当的特定环境变量来运行/调试我的应用程序。

这让我觉得这是一个可能存在于某处的功能,但尽管进行了广泛的搜索,我还是找不到它。这个问题与 2008 年及以下有关,不包含对我有帮助的答案。这个问题与构建过程有关,而不是调试/运行的行为。

我很欣赏一种解决方法是使用适当的环境变量启动我的 IDE,但我宁愿从 IDE 控制它。这可能吗?

4

3 回答 3

12

它不像从正在调试的应用程序外部设置它那样干净,但是您可以添加Main类似这样的内容(注意,我是 VB 程序员):

#if (DEBUG)
    Environment.SetEnvironmentVariable("YourVar", "YourVal");
#endif
于 2013-06-25T14:28:16.150 回答
4

这在 C++ IDE 中是可能的,而不是在 C# IDE 中。我猜它是故意省略的,因为 C# 有更好的方法来配置程序。环境变量很尴尬,因为它们需要在部署应用程序时修补用户系统环境的安装程序。这很脆弱,另一个安装程序可以很容易地破坏它,而且他们经常这样做。

C# 方式是使用应用程序设置。项目 + 属性,设置选项卡。

一种可能的替代方法是使用命令行参数。您将在 Main() 方法中获得它,在 Project + Properties 的 Debug 选项卡中指定一个值。

您仍然可以通过使用 C++ IDE 启动程序的技巧获得所需的内容:

  • 将新项目添加到您的解决方案并选择 Visual C++、General、Makefile 项目模板。
  • 马上点击完成,向导问了太多问题。
  • 右键单击添加的项目,属性,选择 NMake 节点。
  • 编辑“Build Command Line”设置,并将其设置为“echo Done”。
  • 编辑“输出”设置,将其设置为 C# 可执行文件的完整路径。
  • 选择 Debugging 节点,将 Debugger 类型更改为 Managed Only。
  • 你会看到下面那个,你想要什么,编辑“环境”设置。
  • 再次右键单击该项目,选择“设置为启动项目”。
于 2013-06-25T13:13:18.720 回答
2

对于在 Visual Studio 2013 下使用环境变量进行 C# 调试,我所做的是在 Visual Studio 下的开始菜单中打开“VS2013 的开发人员命令提示符”。从命令提示符设置我想要的环境变量,然后运行“devenv.exe”来启动 Studio。接下来打开一个解决方案并开始调试。

请记住,如果要更改环境变量,则需要停止调试,退出 Visual Studio,然后在打开的命令提示符下调整变量,然后重新开始。请记住,环境随着进程 (CMD.EXE) 启动下一个 (DEVENV.EXE) 和下一个 (YourApp) 向前移动。一开始的更改不会向前推进,您需要重新启动链。

于 2016-12-01T15:19:49.660 回答