簡體   English   中英

無法更改 ASP.NET 核心 Web 應用程序中生產的 DLL 的運行時版本

[英]Can't change runtime version of produced DLL in ASP.NET Core Web App

我正在構建一個基於 .NET 5 的 ASP.NET Web 應用程序,用於 Z50780F47F6839D403D60BC4555555EE0 目前是 POC。 我的托管服務提供商僅支持5.0.2運行時,但 SDK 版本隨附 VS2019 安裝.NET 5.0.103 (runtime 5.0.3) 我需要生成目標運行時5.0.2的 DLL 。

為了能夠為運行時5.0.2生產 DLL ,我安裝了.NET SDK version 5.0.102 現在我有 SDK 和運行時。

現在,我有如下的 SDK 和運行時( dotnet --info

.NET SDKs installed:
  5.0.102 [C:\Program Files\dotnet\sdk]
  5.0.103 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 5.0.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]

我嘗試使用global.json文件強制使用早期版本。 我將文件放在csproj文件所在的文件夾中。 內容如下:

{
  "sdk": {
    "version": "5.0.102"
  }
}

如果從項目目錄運行這些命令, dotnet --versiondotnet --info還報告正在使用的5.0.102為 5.0.102。

D:\Projects-DriveD\VS\AspNetCoreWebSample\AspNetCoreWebSample>dotnet --version
5.0.102

D:\Projects-DriveD\VS\AspNetCoreWebSample\AspNetCoreWebSample>dotnet --info
.NET SDK (reflecting any global.json):
 Version:   5.0.102
 Commit:    71365b4d42

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.19042
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\5.0.102\

Host (useful for support):
  Version: 5.0.3  <==========================================
  Commit:  c636bbdc8a

.NET SDKs installed:
  5.0.102 [C:\Program Files\dotnet\sdk]
  5.0.103 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 5.0.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]

但即便如此,生產的 DLL 還是針對運行時版本5.0.3 我認為問題可能是因為主機版本仍然是5.0.3但我不完全確定。

我正在使用Jetbrains dotpeek工具驗證生產的 DLL 的運行時版本。 在此處輸入圖像描述

如何強制 Visual Studio 生成針對運行時版本5.0.2而不是5.0.3運行時的DLL

從官方文檔Select .NET 版本中使用

RuntimeFrameworkVersion 元素覆蓋默認版本策略。 對於自包含部署,RuntimeFrameworkVersion 指定確切的運行時框架版本。 對於依賴於框架的應用程序,RuntimeFrameworkVersion 指定所需的最低運行時框架版本。

在您的 csproj 中,您可以添加:

<RuntimeFrameworkVersion>5.0.2</RuntimeFrameworkVersion>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM