2026年8月13日 星期四

[研究]NPOI.2.7.6升級2.8.0測試 (失敗)

[研究]NPOI.2.7.6升級2.8.0測試 (失敗)

2026-08-13

2025-04-17 測試過,今天再次測試

環境:Visual Studio 2019 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 20.2

********************************************************************************

建立一個新的、空的 WebForm 專案

********************************************************************************

因為之前 2.7.6 升級 2.8.0 時,安裝 'SixLabors.Fonts 2.1.3 過程毀了專案,這次不要選。

安裝過成失敗

嚴重性 程式碼 說明 專案 檔案 隱藏項目狀態

錯誤 無法安裝封裝 'SixLabors.Fonts 2.1.3'。您正嘗試將此封裝安裝到以 '.NETFramework,Version=v4.8' 為目標的專案,但該封裝不包含任何與架構相容的組件參考或內容檔。如需詳細資訊,請連絡封裝作者。

********************************************************************************
安裝 NPOI.2.7.6

WebApplication1 正在安裝: BouncyCastle.Cryptography.2.6.2 ExtendedNumerics.BigDecimal.2025.1001.2.129 MathNet.Numerics.Signed.5.0.0 NSax.1.0.2 System.Buffers.4.5.1 System.Numerics.Vectors.4.5.0 System.Runtime.CompilerServices.Unsafe.6.0.0 Enums.NET.5.0.0 System.Memory.4.5.5 Microsoft.IO.RecyclableMemoryStream.3.0.1 SixLabors.Fonts.1.0.1 System.Security.Cryptography.Xml.8.0.2 System.Text.Encoding.CodePages.5.0.0 SixLabors.ImageSharp.2.1.11 System.Threading.Tasks.Extensions.4.5.2 SharpZipLib.1.4.2 ZString.2.6.0 NPOI.2.7.6

除了

NPOI 稍後要單獨測試的

SixLabors.Fonts 1.0.1 升級 2.x 需要 .NET 6.0、升級 3.x 需要 .NET 8.0

SixLabors.ImageSharp 2.1.11 => 4.1.10 (需要 .NET 8.0 的 SixLabors.ImageSharp >= 8.0.0)

現有升級


WebApplication1 更新: System.Threading.Tasks.Extensions.4.5.2 -> System.Threading.Tasks.Extensions.4.6.3 System.Text.Encoding.CodePages.5.0.0 -> System.Text.Encoding.CodePages.10.0.11 System.Security.Cryptography.Xml.8.0.2 -> System.Security.Cryptography.Xml.10.0.11 System.Memory.4.5.5 -> System.Memory.4.6.3 System.Runtime.CompilerServices.Unsafe.6.0.0 -> System.Runtime.CompilerServices.Unsafe.6.1.2 System.Numerics.Vectors.4.5.0 -> System.Numerics.Vectors.4.6.1 System.Buffers.4.5.1 -> System.Buffers.4.6.1 Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1 -> Microsoft.CodeDom.Providers.DotNetCompilerPlatform.4.1.0 ExtendedNumerics.BigDecimal.2025.1001.2.129 -> ExtendedNumerics.BigDecimal.3003.2.0.161 BouncyCastle.Cryptography.2.6.2 -> BouncyCastle.Cryptography.2.7.0 正在安裝: System.ValueTuple.4.6.2 System.Formats.Asn1.10.0.11 Microsoft.Bcl.Cryptography.10.0.11

把 Web.Config 中,類似 (若沒有就不改寫)

<configuration>
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

<dependentAssembly> <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" /> </dependentAssembly>

改寫為

<configuration>
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

<dependentAssembly> <assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" /> </dependentAssembly>

*****

關閉 Visual Studio,開啟 WebApplication1.csproj


<Reference Include="System.ValueTuple" />

改為


<Reference Include="System.ValueTuple"> <HintPath>..\packages\System.ValueTuple.4.6.2\lib\net47\System.ValueTuple.dll</HintPath> <Private>True</Private> </Reference>

即可。

關閉 Visual Studio,開啟 WebApplication1.csproj

把 .csproj 檔案中


<Reference Include="System.ValueTuple" />

改為


<Reference Include="System.ValueTuple"> <HintPath>..\packages\System.ValueTuple.4.6.2\lib\net47\System.ValueTuple.dll</HintPath> <Private>True</Private> </Reference>


********************************************************************************

NPOI.2.7.6升級2.8.0測試



WebApplication1 更新: NPOI.2.7.6 -> NPOI.2.8.0 正在安裝: Microsoft.Build.Tasks.Git.8.0.0 Microsoft.SourceLink.Common.8.0.0 Microsoft.SourceLink.GitHub.8.0.0 SkiaSharp.NativeAssets.Linux.NoDependencies.3.119.2 SkiaSharp.NativeAssets.macOS.3.119.2 SkiaSharp.NativeAssets.Win32.3.119.2 SkiaSharp.3.119.2

除了

SixLabors.Fonts 1.0.1 升級 2.x 需要 .NET 6.0、升級 3.x 需要 .NET 8.0

SixLabors.ImageSharp 2.1.11 => 4.1.10 (需要 .NET 8.0 的 SixLabors.ImageSharp >= 8.0.0)

現有再升級


WebApplication1 更新: SkiaSharp.3.119.2 -> SkiaSharp.4.151.1 SkiaSharp.NativeAssets.Win32.3.119.2 -> SkiaSharp.NativeAssets.Win32.4.151.1 SkiaSharp.NativeAssets.macOS.3.119.2 -> SkiaSharp.NativeAssets.macOS.4.151.1 SkiaSharp.NativeAssets.Linux.NoDependencies.3.119.2 -> SkiaSharp.NativeAssets.Linux.NoDependencies.4.151.1 Microsoft.SourceLink.GitHub.8.0.0 -> Microsoft.SourceLink.GitHub.10.0.400 Microsoft.SourceLink.Common.8.0.0 -> Microsoft.SourceLink.Common.10.0.400 Microsoft.Build.Tasks.Git.8.0.0 -> Microsoft.Build.Tasks.Git.10.0.400 正在安裝: System.IO.Hashing.10.0.11

升級安裝失敗,出現訊息


嚴重性 程式碼 說明 專案 檔案 行 隱藏項目狀態 錯誤 對項目 <UsingTask> 中 "AssemblyFile" 屬性的值 "$(_MicrosoftSourceLinkCommonAssemblyFile)" 評估的結果 "" 無效。 C:\CodeTemp1\Solution1\packages\Microsoft.SourceLink.Common.8.0.0\build\InitializeSourceControlInformation.targets


關閉 Visual Studio 2019,改用 Visual Studio 2022,問題依舊。********************************************************************************

關鍵這3個

Microsoft.SourceLink.GitHub.8.0.0 -> Microsoft.SourceLink.GitHub.10.0.400
Microsoft.SourceLink.Common.8.0.0 -> Microsoft.SourceLink.Common.10.0.400
Microsoft.Build.Tasks.Git.8.0.0 -> Microsoft.Build.Tasks.Git.10.0.400

********************************************************************************
僅勾選 Microsoft.SourceLink.GitHub.8.0.0,會要求安裝三者。
僅勾選 Microsoft.SourceLink.Common.8.0.0,僅會要求安裝 Microsoft.SourceLink.Common.10.0.202。
僅勾選 Microsoft.Build.Tasks.Git.8.0.0,僅要求 Microsoft.Build.Tasks.Git.10.0.202。
********************************************************************************

待研究,NPOI.2.7.6升級2.8.0一堆狀況,NPOI.2.7.6 目前尚未有以知安全弱點,先不升級。

(完)

相關

沒有留言:

張貼留言