【发布时间】:2018-09-26 19:56:48
【问题描述】:
如何在 .net 核心项目中将 GCServer 设置为 true?通常在 .net 框架项目中,我添加一个 App.Config xml 文件,将 GCServer 变量设置为 true 但这在 在Linux上运行的.net核心项目(App.Config文件生成并发布,但变量仍然没有改变)
【问题讨论】:
-
可以在csproj中使用
<ServerGarbageCollection>True</ServerGarbageCollection>属性。但在 dotnetcore 中,默认情况下它已经是真的了 -
如果是这样,为什么 GCSettings.IsServerGC 返回 false?
-
嗯,在我的应用程序中确实如此。您可以在
/bin/debug/MyProject.runtimeconfig.json中查看真实值。有关更多详细信息,请参阅 asp 社区站立的此视频youtu.be/… -
我也在 Linux 上,我可以在我的身上看到同样的问题。
.runtimeconfig.json不包含System.GG.Server。GCSettings.IsServerGC也返回 false。 -
@Kalten 查看文档和一些本地快速测试,看起来
<ServerGarbageCollection>仅适用于 Web 项目 (Project Sdk="Microsoft.NET.Sdk.Web">) 的True。否则需要显式设置。
标签: c# .net linux .net-core garbage-collection