簡體   English   中英

如何在 ASP .NET Core 中搭建腳手架時阻止 Visual Studio 自動更新依賴項

[英]How to Stop Visual Studio from Automatically Updating Dependencies while scaffolding Identity in ASP .NET Core

我正在使用 asp.net 核心 3.1 開發一個項目,我必須使用 Visual Studio 2019 構建身份。這是來自.csproj 文件<TargetFramework>netcoreapp3.1</TargetFramework>的代碼所有依賴項都具有相同的版本,即 3.1.0但是當我嘗試搭建 Identity 時,Visual Studio 會自動將<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.5" />更新到最新的支持版本。 我嘗試將我的項目更新為 asp.net 5.0,但隨后將 package 更新為<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="5.0.2" /> CCE.0Z.2"Generation.Design" Visual Studio 創建的版本不匹配會產生以下錯誤

運行所選代碼生成器時出錯:'包還原失敗。 回滾 [項目名稱] 的 package 更改

錯誤信息

我嘗試使用 NuGet package 管理器更新所有已安裝的軟件包,但沒有任何效果。 如何防止 Visual Studio 在腳手架之前更新依賴項? 或如何同步這些版本。

在運行腳手架之前

跑腳手架后

這是來自.csproj 文件的代碼<TargetFramework>netcoreapp3.1</TargetFramework>所有依賴項都具有相同的版本,即 3.1.0 但是當我嘗試搭建 Identity Visual Studio 時自動更新<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.5" />到最新支持的版本。

是的你是對的。 在 Asp.net Core 3.1 應用程序中,如果我們使用 Scaffold Identity,它將添加 3.1.5 版本 Microsoft.VisualStudio.Web.CodeGeneration.Design ZEFE90A8E604A7C840E88D03A6 我們可以使用此版本 package 成功生成身份頁面。 如果您仍想使用 3.1.0 版本,只需通過 NuGet Package Manger 進行更改(選擇所需版本並單擊更新按鈕):

在此處輸入圖像描述

要從 ASP.NET Core 3.1 遷移到 5.0,首先請確保您使用的是Visual Studio 2019 16.8 或更高版本(我建議您可以使用最新版本)和.NET 5.0 ZF20E3F65D6D 或更高版本 更多詳細信息,請參閱從 ASP.NET Core 3.1 遷移到 5.0

然后,您應該將目標框架從netcoreapp3.1更新為net5.0 myapplication.csproj 文件中的代碼:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>net5.0</TargetFramework> 
  </PropertyGroup>

  <ItemGroup> 
        //...
  </ItemGroup> 
</Project>

之后,在 NeGet Package Manager 面板中,檢查 Select All Packages 並單擊更新按鈕,它將所有包更新到最新版本。

在此處輸入圖像描述

結果如下:

在此處輸入圖像描述

最后,如果還是遇到Package恢復失敗錯誤,嘗試一一更新package。 由於依賴關系,您可以嘗試更改更新順序。

暫無
暫無

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

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