Roe*_*sim 2 .net c# linux garbage-collection .net-core
如何在 .net core 项目中将 GCServer 设置为 true?通常在 .net 框架项目中,我添加一个 App.Config xml 文件,该文件将 GCServer 变量设置为 true,但这在 Linux 上运行的 .net 核心项目中不起作用(App.Config 文件已生成并发布,但变量仍然没有) t 变化)
添加<ServerGarbageCollection>True</ServerGarbageCollection>
到您的 csproj 文件。喜欢:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<ServerGarbageCollection>true</ServerGarbageCollection>
...
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
要确认在构建期间正确设置了它,请检查<PROJECT>.runtimeconfig.json
目录中的bin
文件。它应该包含以下内容:
"configProperties": {
"System.GC.Server": true
}
Run Code Online (Sandbox Code Playgroud)
在某些情况下,GCServer 已经是默认的。您可以使用以下命令检查 msbuild 文件是否有默认值msbuild /pp
:
$ dotnet msbuild /pp | grep -i ServerGarbage
<ServerGarbageCollection>true</ServerGarbageCollection>
<RuntimeHostConfigurationOption Include="System.GC.Server" Condition="'$(ServerGarbageCollection)' != ''" Value="$(ServerGarbageCollection)" />
Run Code Online (Sandbox Code Playgroud)
如果您有一个带有 的 csproj 文件Sdk="Microsoft.NET.Sdk.Web"
,那么它已经是默认值:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
</Project>
$ dotnet msbuild /pp | grep -i ServerGarbage
<ServerGarbageCollection>true</ServerGarbageCollection>
<RuntimeHostConfigurationOption Include="System.GC.Server" Condition="'$(ServerGarbageCollection)' != ''" Value="$(ServerGarbageCollection)" />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2404 次 |
最近记录: |