中国建设银行昆山支行网站,西安搬家公司收费,网站建设网页,公司模板网站建设项目的bin\debug\netcoreapp${Version}下面能够找到这个${AppName}.runtimeconfig.json文件#xff0c;简单来说#xff0c;它就是用来定义应用程序所用的共享框架#xff08;.Net Core App#xff09;以及运行时选项 的一个文件。一个简单的例子{ runtimeOptions简单来说它就是用来定义应用程序所用的共享框架.Net Core App以及运行时选项 的一个文件。 一个简单的例子{ runtimeOptions: { tfm: netcoreapp2.2, framework: { name: Microsoft.NETCore.App, version: 2.2.0 } }}1、用来决定以哪个版本的.net core 来启动应用程序的参数runtimeconfig.json{ runtimeOptions: { framework: { name: Microsoft.AspNetCore.App, version: 2.2.0 } }}.csproj 文件中ItemGroup PackageReference IncludeMicrosoft.AspNetCore.App Version2.2.0 //ItemGroup覆盖最小值不更改文件的方法是使用dotnet exec --fx--version到.Net Core 3.0 的时候 可以使用多个共享框架并且不再作为Nuget包引用原先做为Nuget包显示但实际上并不由Nuget来管理有可能是开发团队设计上的一个失误。runtimeconfig.json{ runtimeOptions: { frameworks: [ { name: Microsoft.AspNetCore.App, version: 3.0.0 }, { name: Microsoft.WindowsDesktop.App, version: 3.0.0 } ] }}.csproj 文件中ItemGroup FrameworkReference IncludeMicrosoft.AspNetCore.App / FrameworkReference IncludeMicrosoft.WindowsDesktop.App //ItemGroup在.Net Core 3.0 会自动在更高的版本上运行默认情况下 会自动匹配主要和次要版本号在其中找到最高的版本来运行但如果找不到的话它就有可能会去找更高的版本来运行也可以回退以适应缺少特定运行时环境下面的rollForward选项可以配置策略在 这儿 可以找到一些说明runtimeconfig.json{ runtimeOptions: { rollForward: Major }} rollForward 可用的值LatestPatch 前滚到最高的补丁版本但这会禁用次要版本前滚Minor 默认使用的值如果缺少请求的次要版本请前滚到最低的较高次要版本如果存在请求的次要版本则使用 LatestPatch 策略。Major 如果请求主要版本缺失则前滚至最低的较高主要版本和最低次要版本。如果存在请求的主要版本则使用 Minor 策略。LatestMinor即使请求的次要版本存在也可以前滚到最高次要版本。LatestMajor 即使请求主要版本存在也可以前滚到最高主要和最高次要版本。Disable 不要向前滚动仅绑定到指定的版本不建议将此策略用于正常用途因为它禁用前滚到最新修补程序的功能建议仅用于测试。在.NET Core 3.0之前默认情况下会使用安装在计算机上的最高补丁版本的 .Net Core 运行可以使用如下配置来禁用注意此配置在.Net Core 3.0之后已经被废弃runtimeconfig.json{ runtimeOptions: { applyPatches: false }}在.NET Core 3.0之前如果在计算机上找不适合的 .Net Core 版本匹配主要和次要版本号默认情况下最高补丁版本他有可能会使用计算机上安装的最新版本通过以下配置来控制注意此配置在.Net Core 3.0之后已经被废弃runtimeconfig.json{ runtimeOptions: { rollForwardOnNoCandidateFx: 1 }}举个例子说明下如果当前 .Net Core Version 2.10rollForwardOnNoCandidateFx的值可兼容的.Net Core版本0 2.1.0, 2.2.01默认的2.1.0, 3.0.022.1.0详细说明可参考这篇文章 Roll Forward On No Candidate Fx2运行时包存储区这是包在磁盘上的存储目录通常情况下在 macOS/Linux 上是 /usr/local/share/dotnet/store在 Windows 上是 C:/Program Files/dotnet/storeruntimeconfig.json{ runtimeOptions: { tfm: netcoreapp2.1 }}.csprojPropertyGroup TargetFrameworknetcoreapp2.1/TargetFramework/PropertyGroup 3从其他地方加载Assembly的路径类似于PrivatePathruntimeconfig.json{ runtimeOptions: { additionalProbingPaths: [ D:\\Project\\XXXX ] }}.csprojItemGroup AdditionalProbingPath IncludeD:\Project\XXX //ItemGroup.csproj只会影响到runtimeconfig.dev.json这个文件只会在开发的时候有用到生产环境无效了这儿要注意4运行时设置这是一个Key Value 键值对的设置可以用来配Thread Pool Size AppDomain Globalization 等的行为 详细可以参考 CLR-Configuration-knobsruntimeconfig.json{ runtimeOptions: { configProperties: { key: value } }}除了Net Core 中已定义的如果需要也可以配置一些自定义的项参考如下runtimeconfig.json{ runtimeOptions: { configProperties: { DefaultTheme: blue, DefaultLanguage: zh-CN, IsEnableJwt : true } }}.csproj ItemGroup RuntimeHostConfigurationOption IncludeDefaultTheme Valueblue / RuntimeHostConfigurationOption IncludeDefaultLanguage Valuezh-CN / RuntimeHostConfigurationOption IncludeIsEnableJwt Valuetrue //ItemGroupC# 获取自定义的值var defaultTheme System.AppContext.GetData(DefaultTheme) as string;原文链接https://www.cnblogs.com/wxmayifei/p/11394038.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com