You need to enable JavaScript to run this app. 如何在不修改app.config的情况下让.NET Framework的VSTest启用ServerGC
优惠活动
大模型
产品
解决方案
定价
更多

如何在不修改app.config的情况下让.NET Framework的VSTest启用ServerGC

可行方案

方案1:通过runsettings指定测试运行配置文件

你可以直接在.runsettings文件中指定测试进程加载的自定义配置文件,无需修改全局vstest配置:

  1. 在你的测试项目中新增一个配置文件(比如命名为test.exe.config),内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <runtime>
    <gcServer enabled="true"/>
  </runtime>
</configuration>

将该文件的复制到输出目录属性设置为如果较新则复制。
2. 修改你的.runsettings文件,新增ConfigurationFile节点指向该配置文件:

<RunSettings>
  <RunConfiguration>
    <ConfigurationFile>test.exe.config</ConfigurationFile>
    <!-- 保留其他原有配置 -->
  </RunConfiguration>
</RunSettings>
  1. 若使用Visual Studio运行测试,需要在「测试」→「配置运行设置」→「选择解决方案范围的运行设置文件」中选中你修改后的.runsettings文件;若使用命令行运行,添加参数--settings your.runsettings即可。

方案2:使用本地私有vstest运行器

如果方案1不生效,可以在解决方案目录存放一份私有vstest运行器,仅当前项目使用:

  1. 从全局vstest安装目录(通常路径为C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow)复制所有vstest相关文件到你的解决方案本地目录,比如./tools/vstest/
  2. 在该本地目录下找到vstest.console.exe.config,添加<gcServer enabled="true"/>到runtime节点下
  3. 运行测试时直接调用本地目录下的vstest.console.exe即可,不会影响全局环境

验证方法

运行以下测试用例确认ServerGC已生效:

[Test]
public void CheckServerGCEnabled()
{
    Assert.IsTrue(System.Runtime.GCSettings.IsServerGC);
}

内容的提问来源于stack exchange,提问作者Ross Gurbutt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 04:54:01