sudo apt-get install dotnet-sdk-3.1
dotnet --list-sdks
这应该会列出系统上安装的所有 SDKs。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
var sdkPath = Path.Combine(env.ContentRootPath, "sdk");
if (Directory.Exists(sdkPath))
{
var sdks = Directory.GetDirectories(sdkPath);
foreach (var sdk in sdks)
{
var manifest = Path.Combine(sdk, "Microsoft.NETCore.App.runtimeconfig.json");
if (File.Exists(manifest))
{
var runtimeConfig = File.ReadAllText(manifest);
var runtimeConfigDeserializer = new JsonSerializer();
var runtimeConfigObject = runtimeConfigDeserializer.Deserialize(new JsonTextReader(new StringReader(runtimeConfig))) as JObject;
var version = runtimeConfigObject["runtimeOptions"]["framework"]["version"].ToString();
var sdkPathPart = $"../sdk/{version}";
if (!RuntimeEnvironment.GetRuntimeDirectory().StartsWith(sdkPathPart))
{
var runtimeConfigPath = Path.Combine(sdk, "Microsoft.NETCore.App.runtimeconfig.json");
var runtimeConfigBuilder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile(runtimeConfigPath);
var runtimeConfig = runtimeConfigBuilder.Build();
var runtimeFrameworkVersion = runtimeConfig.GetValue
此代码将读取应用程序的运行时