在 VisualStudio 中调试时如何设置特定的环境变量?

在一个类库项目中,我将项目属性 Debug 选项卡上的“ Start Action”设置为“ Start foreign program”(本例中为 NUnit)。我想在这个项目开始的环境中设置一个环境变量。我该怎么做?(这可能吗?)

编辑:

这是一个影响所有人的环境变量。NET 应用程序(COMplus _ Version,它设置运行时版本) ,因此在系统范围内设置它确实不是一个选项。

作为一个变通方案,我只是强制 NUnit 从右边开始。NET 版本(2.0)设置它在 nunit.exe.config,虽然不幸的是,这也意味着所有我的。NET 1.1单元测试现在也运行在。NET 2.0.我可能只需要复制一个可执行文件,这样它就可以有自己的配置文件..。

(我一直没有回答这个问题(不接受回答) ,以防有人碰巧发现怎么回答(毕竟它可能对其他目的也有用... ...))

237690 次浏览

设置一个可以调用的批处理文件。传递批处理文件的路径,让批处理文件设置环境变量,然后调用 NUnit。

如果不能使用 bat 文件来设置环境,那么唯一可能的选择就是设置系统范围的环境变量。你可以通过做

  1. 右键单击“我的电脑”
  2. 选择属性
  3. 选择“高级”选项卡
  4. 点击“环境变量”按钮
  5. 在“系统变量”部分,添加你想要的新环境变量
  6. “好吧”的所有方式来接受你的变化

我不知道你是否必须重新启动视觉工作室,但似乎不太可能

至少在 VisualStudio2008和 VisualStudio2005中,可以在项目设置中指定对环境变量的更改。

打开你的项目。转到 Project-> Properties... 在 Configuration Properties-> Debug 下,编辑“ Environment”值以设置环境变量。

例如,如果希望在调试应用程序时将目录“ c: foo bin”添加到路径中,请将“ Environment”值设置为“ PATH =% PATH% ; c: foo bin”。

Here's a screenshot of the settings dialog

由于环境是从父进程继承的,因此可以为 VisualStudio 编写外接程序,在执行启动之前修改其环境变量。我不知道这对你来说有多容易。

VisualStudio2003似乎不允许您为调试设置环境变量。

我在 C/C + + 中所做的就是在 main()中使用 _putenv()并设置任何变量。通常我用一个 #if defined DEBUG_MODE / #endif包围它,以确保只有某些构建拥有它。

_putenv("MYANSWER=42");

我相信您可以使用 os.putenv ()对 C # 做同样的事情,即。

os.putenv('MYANSWER', '42');

它们将仅为那个 shell 进程设置环境变量,因此是一个临时设置,这正是您要寻找的。

顺便说一下,最好使用进程浏览器(http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx) ,它是一个系统内部工具。您可以看到给定进程的环境变量副本是什么,因此您可以验证您所设置的是什么。

从 NUnit 2.5开始,你可以使用/框架切换,例如:

nunit-console myassembly.dll /framework:net-1.1

这是 NUnit 的帮助页面台的节目。

在 Visual Studio for Mac 和 C # 中,你可以使用:

Environment.SetEnvironmentVariable("<Variable_name>", "<Value>");

但是您将需要以下命名空间

using System.Collections;

您可以使用以下命令检查变量的完整列表:

foreach (DictionaryEntry de in Environment.GetEnvironmentVariables())
Console.WriteLine("  {0} = {1}", de.Key, de.Value);

您可以设置它在属性 > 配置属性 > 调试 > 环境 enter image description here

在 VisualStudio2019中,右键单击项目,选择 Properties。在项目属性窗口中,选择 Debug选项卡。然后,在 Environment variables下将您的环境的值从 Development改为 Production或其他环境。为了。网络核心和。净值5该属性称为 ASPNETCORE_ENVIRONMENT

enter image description here

在 VisualStudio2022中,转到解决方案资源管理器,右键单击项目文件。然后,单击左侧的 Debug 链接。然后,单击 Open debug 并启动配置文件 UI。然后,您可以在 Environment Variables 部分的字段中添加新变量。 环境变数

在 VS 2022中。NET 5和6你可以在 project-> Debug-> 属性下面设置环境变量,在 General 下面点击‘ Open Debug start profile UI’,然后向下滚动到‘ Environment variable’

enter image description here

如果你正在使用 VS 2019,转到 Project-> Properties-> Debug. 看这里

为变量添加键和值。那就这么定了。在 properties 文件夹中选中 launchSettings.json,您应该会看到您的变量。