2026年8月14日 星期五

[研究]找不到中繼資料檔MSTest.Analyzers.4.2.3 之解決

[研究]找不到中繼資料檔MSTest.Analyzers.4.2.3 之解決

2026-08-14

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

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

架構


你的 MSTest 程式 │ ▼ MSTest.TestFramework │ │ 提供 TestClass / TestMethod / Assert ▼ MSTest.TestAdapter │ │ Visual Studio / Test Runner 藉此執行 ▼ 測試結果 MSTest.Analyzers │ └── 編譯時檢查 MSTest 寫法


關係

套件 主要用途 是否執行測試必要 與其他套件關係
MSTest.TestFramework 4.3.3 提供 [TestClass][TestMethod]、Assert 等 MSTest API ✅ 必要 核心
MSTest.TestAdapter 4.3.3 讓 Visual Studio / dotnet test 找得到並執行 MSTest ✅ 必要 負責「執行」Framework 寫的測試
MSTest.Analyzers 4.3.3 編譯時分析 MSTest 程式碼、提示錯誤/不良寫法 ❌ 非必要 開發輔助

Packages.config 中部份內容


  <package id="MSTest.Analyzers" version="4.3.3" targetFramework="net48" developmentDependency="true" />

  <package id="MSTest.TestAdapter" version="4.3.3" targetFramework="net48" developmentDependency="true" />

  <package id="MSTest.TestFramework" version="4.3.3" targetFramework="net48" />


******

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

錯誤 CS0006 找不到中繼資料檔 '..\packages\MSTest.Analyzers.4.2.3\analyzers\dotnet\cs\MSTest.Analyzers.CodeFixes.dll' WebApplication1.Tests C:\Git\SPM\WebApplication1\WebApplication1.Tests\CSC 1 作用中

錯誤 CS0006 找不到中繼資料檔 '..\packages\MSTest.Analyzers.4.2.3\analyzers\dotnet\cs\MSTest.Analyzers.dll' WebApplication1.Tests C:\Git\SPM\WebApplication1\WebApplication1.Tests\CSC 1 作用中

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

關閉 Visual Studio,找到有問題的專案(測試專案) 的 .csproj

刪除下面內容

  <ItemGroup>

    <Analyzer Include="..\packages\MSTest.Analyzers.4.2.3\analyzers\dotnet\cs\MSTest.Analyzers.CodeFixes.dll" />

    <Analyzer Include="..\packages\MSTest.Analyzers.4.2.3\analyzers\dotnet\cs\MSTest.Analyzers.dll" />

  </ItemGroup>

重新啟動 Visual Studio,Compile/Build 成功。

(完)

[研究]某方案 Microsoft.ApplicationInsights 升級

[研究]某方案 Microsoft.ApplicationInsights 升級

2026-08-14


**********


WebApplication1.Tests


更新:


Microsoft.ApplicationInsights.2.23.0 -> Microsoft.ApplicationInsights.3.1.2


正在安裝:


Microsoft.IdentityModel.Abstractions.8.14.0

OpenTelemetry.PersistentStorage.Abstractions.1.0.3

OpenTelemetry.PersistentStorage.FileSystem.1.0.3

Microsoft.Extensions.Primitives.10.0.3

Microsoft.Extensions.FileProviders.Abstractions.10.0.3

OpenTelemetry.Api.1.15.3

System.Security.Cryptography.ProtectedData.4.5.0

System.IO.FileSystem.AccessControl.5.0.0

Microsoft.Extensions.Logging.Abstractions.10.0.3

OpenTelemetry.Api.ProviderBuilderExtensions.1.15.3

Microsoft.Extensions.Configuration.Abstractions.10.0.3

Microsoft.Extensions.Configuration.10.0.0

Microsoft.Extensions.Configuration.Binder.10.0.0

Microsoft.Extensions.Options.10.0.3

Microsoft.Extensions.Diagnostics.Abstractions.10.0.3

Microsoft.Extensions.Hosting.Abstractions.10.0.3

Microsoft.Extensions.Logging.10.0.0

Microsoft.Extensions.Options.ConfigurationExtensions.10.0.0

Microsoft.Extensions.Logging.Configuration.10.0.0

OpenTelemetry.1.15.3

OpenTelemetry.Extensions.Hosting.1.15.3

Microsoft.Identity.Client.4.83.1

Microsoft.Identity.Client.Extensions.Msal.4.83.1

System.Memory.Data.10.0.3

System.ClientModel.1.10.0

Azure.Core.1.54.0

Azure.Monitor.OpenTelemetry.Exporter.1.8.0


**********

升級剛剛 Microsoft.ApplicationInsights 安裝元件

**********

WebApplication1.Tests


更新:


Azure.Monitor.OpenTelemetry.Exporter.1.8.0 -> Azure.Monitor.OpenTelemetry.Exporter.1.8.3

Azure.Core.1.54.0 -> Azure.Core.1.61.0

System.ClientModel.1.10.0 -> System.ClientModel.1.15.0

System.Memory.Data.10.0.3 -> System.Memory.Data.10.0.11

Microsoft.Identity.Client.Extensions.Msal.4.83.1 -> Microsoft.Identity.Client.Extensions.Msal.4.87.0

Microsoft.Identity.Client.4.83.1 -> Microsoft.Identity.Client.4.87.0

OpenTelemetry.Extensions.Hosting.1.15.3 -> OpenTelemetry.Extensions.Hosting.1.17.0

OpenTelemetry.1.15.3 -> OpenTelemetry.1.17.0

Microsoft.Extensions.Logging.Configuration.10.0.0 -> Microsoft.Extensions.Logging.Configuration.10.0.11

Microsoft.Extensions.Options.ConfigurationExtensions.10.0.0 -> Microsoft.Extensions.Options.ConfigurationExtensions.10.0.11

Microsoft.Extensions.Logging.10.0.0 -> Microsoft.Extensions.Logging.10.0.11

Microsoft.Extensions.Hosting.Abstractions.10.0.3 -> Microsoft.Extensions.Hosting.Abstractions.10.0.11

Microsoft.Extensions.Diagnostics.Abstractions.10.0.3 -> Microsoft.Extensions.Diagnostics.Abstractions.10.0.11

Microsoft.Extensions.Options.10.0.3 -> Microsoft.Extensions.Options.10.0.11

Microsoft.Extensions.Configuration.Binder.10.0.0 -> Microsoft.Extensions.Configuration.Binder.10.0.11

Microsoft.Extensions.Configuration.10.0.0 -> Microsoft.Extensions.Configuration.10.0.11

Microsoft.Extensions.Configuration.Abstractions.10.0.3 -> Microsoft.Extensions.Configuration.Abstractions.10.0.11

OpenTelemetry.Api.ProviderBuilderExtensions.1.15.3 -> OpenTelemetry.Api.ProviderBuilderExtensions.1.17.0

Microsoft.Extensions.Logging.Abstractions.10.0.3 -> Microsoft.Extensions.Logging.Abstractions.10.0.11

System.Security.Cryptography.ProtectedData.4.5.0 -> System.Security.Cryptography.ProtectedData.10.0.11

OpenTelemetry.Api.1.15.3 -> OpenTelemetry.Api.1.17.0

Microsoft.Extensions.FileProviders.Abstractions.10.0.3 -> Microsoft.Extensions.FileProviders.Abstractions.10.0.11

Microsoft.Extensions.Primitives.10.0.3 -> Microsoft.Extensions.Primitives.10.0.11

OpenTelemetry.PersistentStorage.FileSystem.1.0.3 -> OpenTelemetry.PersistentStorage.FileSystem.1.1.1

OpenTelemetry.PersistentStorage.Abstractions.1.0.3 -> OpenTelemetry.PersistentStorage.Abstractions.1.1.1

Microsoft.IdentityModel.Abstractions.8.14.0 -> Microsoft.IdentityModel.Abstractions.8.22.0


正在安裝:


System.Net.ServerSentEvents.10.0.9

Microsoft.Extensions.Configuration.EnvironmentVariables.10.0.0

**********

再升級剛剛 Microsoft.ApplicationInsights 安裝元件

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

WebApplication1.Tests


更新:


Microsoft.Extensions.Configuration.EnvironmentVariables.10.0.0 -> Microsoft.Extensions.Configuration.EnvironmentVariables.10.0.11

System.Net.ServerSentEvents.10.0.9 -> System.Net.ServerSentEvents.10.0.11


**********

留下 

Autofac.WebApi2  6.2.0 -> 7.0.0 不升級 (因需要 .NET Freamework 4.8.1,本專案只到 4.8.0 )

NPOI 2.7.6 -> 2.8.0 (授權方式變更,某些情況 2.8.0 要付費)

RestSharp 106.15.0 -> 114.0.0 (亞暹 部分,盧 不會改)

SixLabors.Fonts 1.0.1 -> 3.1.0 (元件要 .NET 8.0,不支援 .NET Freamework 4.8.0)

SixLabors.ImageSharp 3.1.12 -> 4.1.0 (要 .NET 8.0,不支援 .NET Freamework 4.8.0)


******

WebApplication1 方案 Compile/Build 出錯

WebApplication1 專案 Compile/Build 成功

WebApplication1.Test 專案 Compile/Build 出錯

******

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

錯誤 CS0006 找不到中繼資料檔 '..\packages\MSTest.Analyzers.4.2.3\analyzers\dotnet\cs\MSTest.Analyzers.CodeFixes.dll' WebApplication1.Tests C:\Git\SPM\WebApplication1\WebApplication1.Tests\CSC 1 作用中

錯誤 CS0006 找不到中繼資料檔 '..\packages\MSTest.Analyzers.4.2.3\analyzers\dotnet\cs\MSTest.Analyzers.dll' WebApplication1.Tests C:\Git\SPM\WebApplication1\WebApplication1.Tests\CSC 1 作用中

待研究。

(完)

[研究]SixLabors.ImageSharp 元件

[研究]SixLabors.ImageSharp 元件

2026-08-14

https://www.nuget.org/packages/SixLabors.ImageSharp/1.0.4

支援 .NET Framework 4.8


https://www.nuget.org/packages/SixLabors.ImageSharp/2.1.13

支援 .NET Framework 4.8


https://www.nuget.org/packages/SixLabors.ImageSharp/3.1.12

至少需要 .NET 6.0,不支援 .NET Framework 4.8


https://www.nuget.org/packages/SixLabors.ImageSharp/4.1.0

至少需要 .NET 8.0,不支援 .NET Framework 4.8

(完)

[研究]Microsoft.ApplicationInsights 3.1.2 安裝測試

[研究]Microsoft.ApplicationInsights 3.1.2 安裝測試

2026-08-14

Application Insights 簡介 - OpenTelemetry 可檢視性

https://learn.microsoft.com/zh-tw/azure/azure-monitor/app/app-insights-overview?tabs=webapps


Microsoft.ApplicationInsights 2.23.0
https://www.nuget.org/packages/Microsoft.ApplicationInsights/2.23.0

Microsoft.ApplicationInsights 3.1.2
https://www.nuget.org/packages/Microsoft.ApplicationInsights/3.1.2

安裝 Microsoft.ApplicationInsights 2.23.0


WebApplication1 正在安裝: Microsoft.IdentityModel.Abstractions.8.14.0 OpenTelemetry.PersistentStorage.Abstractions.1.0.3 OpenTelemetry.PersistentStorage.FileSystem.1.0.3 System.Buffers.4.6.1 System.Numerics.Vectors.4.6.1 System.Runtime.CompilerServices.Unsafe.6.1.2 System.Memory.4.6.3 Microsoft.Extensions.Primitives.10.0.3 Microsoft.Extensions.FileProviders.Abstractions.10.0.3 System.Diagnostics.DiagnosticSource.10.0.3 OpenTelemetry.Api.1.15.3 System.Security.Cryptography.ProtectedData.4.5.0 System.Security.Principal.Windows.5.0.0 System.Security.AccessControl.5.0.0 System.IO.FileSystem.AccessControl.5.0.0 System.Text.Encodings.Web.10.0.3 System.Threading.Tasks.Extensions.4.6.3 Microsoft.Bcl.AsyncInterfaces.10.0.3 Microsoft.Extensions.DependencyInjection.Abstractions.10.0.3 Microsoft.Extensions.DependencyInjection.10.0.0 Microsoft.Extensions.Logging.Abstractions.10.0.3 OpenTelemetry.Api.ProviderBuilderExtensions.1.15.3 System.IO.Pipelines.10.0.3 System.ValueTuple.4.6.1 Microsoft.Extensions.Configuration.Abstractions.10.0.3 Microsoft.Extensions.Configuration.10.0.0 Microsoft.Extensions.Configuration.Binder.10.0.0 Microsoft.Extensions.Options.10.0.3 Microsoft.Extensions.Diagnostics.Abstractions.10.0.3 Microsoft.Extensions.Hosting.Abstractions.10.0.3 Microsoft.Extensions.Logging.10.0.0 Microsoft.Extensions.Options.ConfigurationExtensions.10.0.0 Microsoft.Extensions.Logging.Configuration.10.0.0 OpenTelemetry.1.15.3 OpenTelemetry.Extensions.Hosting.1.15.3 System.Formats.Asn1.8.0.1 Microsoft.Identity.Client.4.83.1 Microsoft.Identity.Client.Extensions.Msal.4.83.1 System.Text.Json.10.0.3 System.Memory.Data.10.0.3 System.ClientModel.1.10.0 Azure.Core.1.54.0 Azure.Monitor.OpenTelemetry.Exporter.1.8.0 Microsoft.ApplicationInsights.3.1.2

更新所有元件



WebApplication1 更新: Azure.Monitor.OpenTelemetry.Exporter.1.8.0 -> Azure.Monitor.OpenTelemetry.Exporter.1.8.3 Azure.Core.1.54.0 -> Azure.Core.1.61.0 System.ClientModel.1.10.0 -> System.ClientModel.1.15.0 System.Memory.Data.10.0.3 -> System.Memory.Data.10.0.11 System.Text.Json.10.0.3 -> System.Text.Json.10.0.11 Microsoft.Identity.Client.Extensions.Msal.4.83.1 -> Microsoft.Identity.Client.Extensions.Msal.4.87.0 Microsoft.Identity.Client.4.83.1 -> Microsoft.Identity.Client.4.87.0 System.Formats.Asn1.8.0.1 -> System.Formats.Asn1.10.0.11 OpenTelemetry.Extensions.Hosting.1.15.3 -> OpenTelemetry.Extensions.Hosting.1.17.0 OpenTelemetry.1.15.3 -> OpenTelemetry.1.17.0 Microsoft.Extensions.Logging.Configuration.10.0.0 -> Microsoft.Extensions.Logging.Configuration.10.0.11 Microsoft.Extensions.Options.ConfigurationExtensions.10.0.0 -> Microsoft.Extensions.Options.ConfigurationExtensions.10.0.11 Microsoft.Extensions.Logging.10.0.0 -> Microsoft.Extensions.Logging.10.0.11 Microsoft.Extensions.Hosting.Abstractions.10.0.3 -> Microsoft.Extensions.Hosting.Abstractions.10.0.11 Microsoft.Extensions.Diagnostics.Abstractions.10.0.3 -> Microsoft.Extensions.Diagnostics.Abstractions.10.0.11 Microsoft.Extensions.Options.10.0.3 -> Microsoft.Extensions.Options.10.0.11 Microsoft.Extensions.Configuration.Binder.10.0.0 -> Microsoft.Extensions.Configuration.Binder.10.0.11 Microsoft.Extensions.Configuration.10.0.0 -> Microsoft.Extensions.Configuration.10.0.11 Microsoft.Extensions.Configuration.Abstractions.10.0.3 -> Microsoft.Extensions.Configuration.Abstractions.10.0.11 System.ValueTuple.4.6.1 -> System.ValueTuple.4.6.2 System.IO.Pipelines.10.0.3 -> System.IO.Pipelines.10.0.11 OpenTelemetry.Api.ProviderBuilderExtensions.1.15.3 -> OpenTelemetry.Api.ProviderBuilderExtensions.1.17.0 Microsoft.Extensions.Logging.Abstractions.10.0.3 -> Microsoft.Extensions.Logging.Abstractions.10.0.11 Microsoft.Extensions.DependencyInjection.10.0.0 -> Microsoft.Extensions.DependencyInjection.10.0.11 Microsoft.Extensions.DependencyInjection.Abstractions.10.0.3 -> Microsoft.Extensions.DependencyInjection.Abstractions.10.0.11 Microsoft.Bcl.AsyncInterfaces.10.0.3 -> Microsoft.Bcl.AsyncInterfaces.10.0.11 System.Text.Encodings.Web.10.0.3 -> System.Text.Encodings.Web.10.0.11 System.Security.AccessControl.5.0.0 -> System.Security.AccessControl.6.0.1 System.Security.Cryptography.ProtectedData.4.5.0 -> System.Security.Cryptography.ProtectedData.10.0.11 OpenTelemetry.Api.1.15.3 -> OpenTelemetry.Api.1.17.0 System.Diagnostics.DiagnosticSource.10.0.3 -> System.Diagnostics.DiagnosticSource.10.0.11 Microsoft.Extensions.FileProviders.Abstractions.10.0.3 -> Microsoft.Extensions.FileProviders.Abstractions.10.0.11 Microsoft.Extensions.Primitives.10.0.3 -> Microsoft.Extensions.Primitives.10.0.11 OpenTelemetry.PersistentStorage.FileSystem.1.0.3 -> OpenTelemetry.PersistentStorage.FileSystem.1.1.1 OpenTelemetry.PersistentStorage.Abstractions.1.0.3 -> OpenTelemetry.PersistentStorage.Abstractions.1.1.1 Microsoft.IdentityModel.Abstractions.8.14.0 -> Microsoft.IdentityModel.Abstractions.8.22.0 正在安裝: System.Net.ServerSentEvents.10.0.9 Microsoft.Extensions.Configuration.EnvironmentVariables.10.0.0


升級 System.ValueTuple 4.6.1 到 4.6.2


WebApplication1 更新: System.ValueTuple.4.6.1 -> System.ValueTuple.4.6.2


參考下面修正

[研究]解決 System.ValueTuple 4.5.0 升級 4.6.1 或 4.6.2 問題
https://shaurong.blogspot.com/2026/08/systemvaluetuple-450-461-462.html

再再更新所有元件


WebApplication1 更新: Microsoft.Extensions.Configuration.EnvironmentVariables.10.0.0 -> Microsoft.Extensions.Configuration.EnvironmentVariables.10.0.11 System.Net.ServerSentEvents.10.0.9 -> System.Net.ServerSentEvents.10.0.11


沒有元件要升級更新了,Compile / Build 正常。
Web.Config 內容


<?xml version="1.0" encoding="utf-8"?> <!-- 如需如何設定 ASP.NET 應用程式的詳細資訊,請前往 https://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <system.web> <compilation debug="true" targetFramework="4.8" /> <httpRuntime targetFramework="4.8" /> </system.web> <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701;612;618" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008,40000,40008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> </compilers> </system.codedom> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Configuration.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Primitives" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Options" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Diagnostics.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Hosting.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" /> </dependentAssembly> <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> <dependentAssembly> <assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.2.4.0" newVersion="4.2.4.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Azure.Monitor.OpenTelemetry.Exporter" publicKeyToken="92742159e12e44c8" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.8.3.0" newVersion="1.8.3.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Logging" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Azure.Core" publicKeyToken="92742159e12e44c8" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.61.0.0" newVersion="1.61.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Configuration" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.DependencyInjection" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Logging.Configuration" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.IdentityModel.Abstractions" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-8.22.0.0" newVersion="8.22.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Formats.Asn1" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Security.Cryptography.ProtectedData" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Security.AccessControl" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Net.ServerSentEvents" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Memory.Data" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Identity.Client" publicKeyToken="0a613f4dd989e8ae" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.87.0.0" newVersion="4.87.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Identity.Client.Extensions.Msal" publicKeyToken="0a613f4dd989e8ae" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.87.0.0" newVersion="4.87.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.ClientModel" publicKeyToken="92742159e12e44c8" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.15.0.0" newVersion="1.15.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Configuration.Binder" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="OpenTelemetry.PersistentStorage.Abstractions" publicKeyToken="7bd6737fe5b67e3c" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.1.1.1228" newVersion="1.1.1.1228" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="OpenTelemetry.PersistentStorage.FileSystem" publicKeyToken="7bd6737fe5b67e3c" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.1.1.1228" newVersion="1.1.1.1228" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Configuration.EnvironmentVariables" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>


Packages.config 內容



<?xml version="1.0" encoding="utf-8"?> <packages> <package id="Azure.Core" version="1.61.0" targetFramework="net48" /> <package id="Azure.Monitor.OpenTelemetry.Exporter" version="1.8.3" targetFramework="net48" /> <package id="Microsoft.ApplicationInsights" version="3.1.2" targetFramework="net48" /> <package id="Microsoft.Bcl.AsyncInterfaces" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="4.1.0" targetFramework="net48" /> <package id="Microsoft.Extensions.Configuration" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Configuration.Abstractions" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Configuration.Binder" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Configuration.EnvironmentVariables" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.DependencyInjection" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Diagnostics.Abstractions" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.FileProviders.Abstractions" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Hosting.Abstractions" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Logging" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Logging.Abstractions" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Logging.Configuration" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Options" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Options.ConfigurationExtensions" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Primitives" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Identity.Client" version="4.87.0" targetFramework="net48" /> <package id="Microsoft.Identity.Client.Extensions.Msal" version="4.87.0" targetFramework="net48" /> <package id="Microsoft.IdentityModel.Abstractions" version="8.22.0" targetFramework="net48" /> <package id="OpenTelemetry" version="1.17.0" targetFramework="net48" /> <package id="OpenTelemetry.Api" version="1.17.0" targetFramework="net48" /> <package id="OpenTelemetry.Api.ProviderBuilderExtensions" version="1.17.0" targetFramework="net48" /> <package id="OpenTelemetry.Extensions.Hosting" version="1.17.0" targetFramework="net48" /> <package id="OpenTelemetry.PersistentStorage.Abstractions" version="1.1.1" targetFramework="net48" /> <package id="OpenTelemetry.PersistentStorage.FileSystem" version="1.1.1" targetFramework="net48" /> <package id="System.Buffers" version="4.6.1" targetFramework="net48" /> <package id="System.ClientModel" version="1.15.0" targetFramework="net48" /> <package id="System.Diagnostics.DiagnosticSource" version="10.0.11" targetFramework="net48" /> <package id="System.Formats.Asn1" version="10.0.11" targetFramework="net48" /> <package id="System.IO.FileSystem.AccessControl" version="5.0.0" targetFramework="net48" /> <package id="System.IO.Pipelines" version="10.0.11" targetFramework="net48" /> <package id="System.Memory" version="4.6.3" targetFramework="net48" /> <package id="System.Memory.Data" version="10.0.11" targetFramework="net48" /> <package id="System.Net.ServerSentEvents" version="10.0.11" targetFramework="net48" /> <package id="System.Numerics.Vectors" version="4.6.1" targetFramework="net48" /> <package id="System.Runtime.CompilerServices.Unsafe" version="6.1.2" targetFramework="net48" /> <package id="System.Security.AccessControl" version="6.0.1" targetFramework="net48" /> <package id="System.Security.Cryptography.ProtectedData" version="10.0.11" targetFramework="net48" /> <package id="System.Security.Principal.Windows" version="5.0.0" targetFramework="net48" /> <package id="System.Text.Encodings.Web" version="10.0.11" targetFramework="net48" /> <package id="System.Text.Json" version="10.0.11" targetFramework="net48" /> <package id="System.Threading.Tasks.Extensions" version="4.6.3" targetFramework="net48" /> <package id="System.ValueTuple" version="4.6.2" targetFramework="net48" /> </packages>


似乎OK。

(完)

[研究]Microsoft.ApplicationInsights 2.23.0 升級 3.1.2 測試

[研究]Microsoft.ApplicationInsights 2.23.0 升級 3.1.2 測試

2026-08-14

主要是測試專案使用此元件,主要專案未使用。

Application Insights 簡介 - OpenTelemetry 可檢視性

https://learn.microsoft.com/zh-tw/azure/azure-monitor/app/app-insights-overview?tabs=webapps


Microsoft.ApplicationInsights 2.23.0
https://www.nuget.org/packages/Microsoft.ApplicationInsights/2.23.0

Microsoft.ApplicationInsights 3.1.2
https://www.nuget.org/packages/Microsoft.ApplicationInsights/3.1.2

安裝 Microsoft.ApplicationInsights 2.23.0


WebApplication1 正在安裝: System.Buffers.4.5.1 System.Numerics.Vectors.4.5.0 System.Runtime.CompilerServices.Unsafe.5.0.0 System.Memory.4.5.4 System.Diagnostics.DiagnosticSource.5.0.0 Microsoft.ApplicationInsights.2.23.0

更新所有元件


WebApplication1 更新: Microsoft.ApplicationInsights.2.23.0 -> Microsoft.ApplicationInsights.3.1.2 System.Diagnostics.DiagnosticSource.5.0.0 -> System.Diagnostics.DiagnosticSource.10.0.11 System.Memory.4.5.4 -> System.Memory.4.6.3 System.Runtime.CompilerServices.Unsafe.5.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.IdentityModel.Abstractions.8.14.0 OpenTelemetry.PersistentStorage.Abstractions.1.0.3 OpenTelemetry.PersistentStorage.FileSystem.1.0.3 Microsoft.Extensions.Primitives.10.0.3 Microsoft.Extensions.FileProviders.Abstractions.10.0.3 OpenTelemetry.Api.1.15.3 System.Security.Cryptography.ProtectedData.4.5.0 System.Security.Principal.Windows.5.0.0 System.Security.AccessControl.5.0.0 System.IO.FileSystem.AccessControl.5.0.0 System.Text.Encodings.Web.10.0.3 System.Threading.Tasks.Extensions.4.6.3 Microsoft.Bcl.AsyncInterfaces.10.0.3 Microsoft.Extensions.DependencyInjection.Abstractions.10.0.3 Microsoft.Extensions.DependencyInjection.10.0.0 Microsoft.Extensions.Logging.Abstractions.10.0.3 OpenTelemetry.Api.ProviderBuilderExtensions.1.15.3 System.IO.Pipelines.10.0.3 System.ValueTuple.4.6.1 Microsoft.Extensions.Configuration.Abstractions.10.0.3 Microsoft.Extensions.Configuration.10.0.0 Microsoft.Extensions.Configuration.Binder.10.0.0 Microsoft.Extensions.Options.10.0.3 Microsoft.Extensions.Diagnostics.Abstractions.10.0.3 Microsoft.Extensions.Hosting.Abstractions.10.0.3 Microsoft.Extensions.Logging.10.0.0 Microsoft.Extensions.Options.ConfigurationExtensions.10.0.0 Microsoft.Extensions.Logging.Configuration.10.0.0 OpenTelemetry.1.15.3 OpenTelemetry.Extensions.Hosting.1.15.3 System.Formats.Asn1.8.0.1 Microsoft.Identity.Client.4.83.1 Microsoft.Identity.Client.Extensions.Msal.4.83.1 System.Text.Json.10.0.3 System.Memory.Data.10.0.3 System.ClientModel.1.10.0 Azure.Core.1.54.0 Azure.Monitor.OpenTelemetry.Exporter.1.8.0


升級 System.ValueTuple 4.6.1 到 4.6.2


WebApplication1 更新: System.ValueTuple.4.6.1 -> System.ValueTuple.4.6.2


參考下面修正

[研究]解決 System.ValueTuple 4.5.0 升級 4.6.1 或 4.6.2 問題
https://shaurong.blogspot.com/2026/08/systemvaluetuple-450-461-462.html


再更新所有元件


WebApplication1 更新: Azure.Monitor.OpenTelemetry.Exporter.1.8.0 -> Azure.Monitor.OpenTelemetry.Exporter.1.8.3 Azure.Core.1.54.0 -> Azure.Core.1.61.0 System.ClientModel.1.10.0 -> System.ClientModel.1.15.0 System.Memory.Data.10.0.3 -> System.Memory.Data.10.0.11 System.Text.Json.10.0.3 -> System.Text.Json.10.0.11 Microsoft.Identity.Client.Extensions.Msal.4.83.1 -> Microsoft.Identity.Client.Extensions.Msal.4.87.0 Microsoft.Identity.Client.4.83.1 -> Microsoft.Identity.Client.4.87.0 System.Formats.Asn1.8.0.1 -> System.Formats.Asn1.10.0.11 OpenTelemetry.Extensions.Hosting.1.15.3 -> OpenTelemetry.Extensions.Hosting.1.17.0 OpenTelemetry.1.15.3 -> OpenTelemetry.1.17.0 Microsoft.Extensions.Logging.Configuration.10.0.0 -> Microsoft.Extensions.Logging.Configuration.10.0.11 Microsoft.Extensions.Options.ConfigurationExtensions.10.0.0 -> Microsoft.Extensions.Options.ConfigurationExtensions.10.0.11 Microsoft.Extensions.Logging.10.0.0 -> Microsoft.Extensions.Logging.10.0.11 Microsoft.Extensions.Hosting.Abstractions.10.0.3 -> Microsoft.Extensions.Hosting.Abstractions.10.0.11 Microsoft.Extensions.Diagnostics.Abstractions.10.0.3 -> Microsoft.Extensions.Diagnostics.Abstractions.10.0.11 Microsoft.Extensions.Options.10.0.3 -> Microsoft.Extensions.Options.10.0.11 Microsoft.Extensions.Configuration.Binder.10.0.0 -> Microsoft.Extensions.Configuration.Binder.10.0.11 Microsoft.Extensions.Configuration.10.0.0 -> Microsoft.Extensions.Configuration.10.0.11 Microsoft.Extensions.Configuration.Abstractions.10.0.3 -> Microsoft.Extensions.Configuration.Abstractions.10.0.11 System.IO.Pipelines.10.0.3 -> System.IO.Pipelines.10.0.11 OpenTelemetry.Api.ProviderBuilderExtensions.1.15.3 -> OpenTelemetry.Api.ProviderBuilderExtensions.1.17.0 Microsoft.Extensions.Logging.Abstractions.10.0.3 -> Microsoft.Extensions.Logging.Abstractions.10.0.11 Microsoft.Extensions.DependencyInjection.10.0.0 -> Microsoft.Extensions.DependencyInjection.10.0.11 Microsoft.Extensions.DependencyInjection.Abstractions.10.0.3 -> Microsoft.Extensions.DependencyInjection.Abstractions.10.0.11 Microsoft.Bcl.AsyncInterfaces.10.0.3 -> Microsoft.Bcl.AsyncInterfaces.10.0.11 System.Text.Encodings.Web.10.0.3 -> System.Text.Encodings.Web.10.0.11 System.Security.AccessControl.5.0.0 -> System.Security.AccessControl.6.0.1 System.Security.Cryptography.ProtectedData.4.5.0 -> System.Security.Cryptography.ProtectedData.10.0.11 OpenTelemetry.Api.1.15.3 -> OpenTelemetry.Api.1.17.0 Microsoft.Extensions.FileProviders.Abstractions.10.0.3 -> Microsoft.Extensions.FileProviders.Abstractions.10.0.11 Microsoft.Extensions.Primitives.10.0.3 -> Microsoft.Extensions.Primitives.10.0.11 OpenTelemetry.PersistentStorage.FileSystem.1.0.3 -> OpenTelemetry.PersistentStorage.FileSystem.1.1.1 OpenTelemetry.PersistentStorage.Abstractions.1.0.3 -> OpenTelemetry.PersistentStorage.Abstractions.1.1.1 Microsoft.IdentityModel.Abstractions.8.14.0 -> Microsoft.IdentityModel.Abstractions.8.22.0 正在安裝: System.Net.ServerSentEvents.10.0.9 Microsoft.Extensions.Configuration.EnvironmentVariables.10.0.0


再再更新所有元件


WebApplication1 更新: Microsoft.Extensions.Configuration.EnvironmentVariables.10.0.0 -> Microsoft.Extensions.Configuration.EnvironmentVariables.10.0.11 System.Net.ServerSentEvents.10.0.9 -> System.Net.ServerSentEvents.10.0.11


沒有元件要升級更新了,Compile / Build 正常。
Web.Config 內容


<?xml version="1.0" encoding="utf-8"?> <!-- 如需如何設定 ASP.NET 應用程式的詳細資訊,請前往 https://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <system.web> <compilation debug="true" targetFramework="4.8" /> <httpRuntime targetFramework="4.8" /> </system.web> <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701;612;618" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008,40000,40008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> </compilers> </system.codedom> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Configuration.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Primitives" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Options" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Diagnostics.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Hosting.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" /> </dependentAssembly> <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> <dependentAssembly> <assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.2.4.0" newVersion="4.2.4.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Azure.Monitor.OpenTelemetry.Exporter" publicKeyToken="92742159e12e44c8" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.8.3.0" newVersion="1.8.3.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Logging" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Azure.Core" publicKeyToken="92742159e12e44c8" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.61.0.0" newVersion="1.61.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Configuration" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.DependencyInjection" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Logging.Configuration" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.IdentityModel.Abstractions" publicKeyToken="31bf3856ad364e35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-8.22.0.0" newVersion="8.22.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Formats.Asn1" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Security.Cryptography.ProtectedData" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Security.AccessControl" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Net.ServerSentEvents" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Memory.Data" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Identity.Client" publicKeyToken="0a613f4dd989e8ae" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.87.0.0" newVersion="4.87.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Identity.Client.Extensions.Msal" publicKeyToken="0a613f4dd989e8ae" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.87.0.0" newVersion="4.87.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.ClientModel" publicKeyToken="92742159e12e44c8" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.15.0.0" newVersion="1.15.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Configuration.Binder" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="OpenTelemetry.PersistentStorage.Abstractions" publicKeyToken="7bd6737fe5b67e3c" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.1.1.1228" newVersion="1.1.1.1228" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="OpenTelemetry.PersistentStorage.FileSystem" publicKeyToken="7bd6737fe5b67e3c" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.1.1.1228" newVersion="1.1.1.1228" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.Extensions.Configuration.EnvironmentVariables" publicKeyToken="adb9793829ddae60" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-10.0.0.11" newVersion="10.0.0.11" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>


Packages.config 內容


<?xml version="1.0" encoding="utf-8"?> <packages> <package id="Azure.Core" version="1.61.0" targetFramework="net48" /> <package id="Azure.Monitor.OpenTelemetry.Exporter" version="1.8.3" targetFramework="net48" /> <package id="Microsoft.ApplicationInsights" version="3.1.2" targetFramework="net48" /> <package id="Microsoft.Bcl.AsyncInterfaces" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="4.1.0" targetFramework="net48" /> <package id="Microsoft.Extensions.Configuration" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Configuration.Abstractions" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Configuration.Binder" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Configuration.EnvironmentVariables" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.DependencyInjection" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Diagnostics.Abstractions" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.FileProviders.Abstractions" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Hosting.Abstractions" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Logging" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Logging.Abstractions" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Logging.Configuration" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Options" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Options.ConfigurationExtensions" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Extensions.Primitives" version="10.0.11" targetFramework="net48" /> <package id="Microsoft.Identity.Client" version="4.87.0" targetFramework="net48" /> <package id="Microsoft.Identity.Client.Extensions.Msal" version="4.87.0" targetFramework="net48" /> <package id="Microsoft.IdentityModel.Abstractions" version="8.22.0" targetFramework="net48" /> <package id="OpenTelemetry" version="1.17.0" targetFramework="net48" /> <package id="OpenTelemetry.Api" version="1.17.0" targetFramework="net48" /> <package id="OpenTelemetry.Api.ProviderBuilderExtensions" version="1.17.0" targetFramework="net48" /> <package id="OpenTelemetry.Extensions.Hosting" version="1.17.0" targetFramework="net48" /> <package id="OpenTelemetry.PersistentStorage.Abstractions" version="1.1.1" targetFramework="net48" /> <package id="OpenTelemetry.PersistentStorage.FileSystem" version="1.1.1" targetFramework="net48" /> <package id="System.Buffers" version="4.6.1" targetFramework="net48" /> <package id="System.ClientModel" version="1.15.0" targetFramework="net48" /> <package id="System.Diagnostics.DiagnosticSource" version="10.0.11" targetFramework="net48" /> <package id="System.Formats.Asn1" version="10.0.11" targetFramework="net48" /> <package id="System.IO.FileSystem.AccessControl" version="5.0.0" targetFramework="net48" /> <package id="System.IO.Pipelines" version="10.0.11" targetFramework="net48" /> <package id="System.Memory" version="4.6.3" targetFramework="net48" /> <package id="System.Memory.Data" version="10.0.11" targetFramework="net48" /> <package id="System.Net.ServerSentEvents" version="10.0.11" targetFramework="net48" /> <package id="System.Numerics.Vectors" version="4.6.1" targetFramework="net48" /> <package id="System.Runtime.CompilerServices.Unsafe" version="6.1.2" targetFramework="net48" /> <package id="System.Security.AccessControl" version="6.0.1" targetFramework="net48" /> <package id="System.Security.Cryptography.ProtectedData" version="10.0.11" targetFramework="net48" /> <package id="System.Security.Principal.Windows" version="5.0.0" targetFramework="net48" /> <package id="System.Text.Encodings.Web" version="10.0.11" targetFramework="net48" /> <package id="System.Text.Json" version="10.0.11" targetFramework="net48" /> <package id="System.Threading.Tasks.Extensions" version="4.6.3" targetFramework="net48" /> <package id="System.ValueTuple" version="4.6.2" targetFramework="net48" /> </packages>

似乎OK。

(完)

[研究]ASP.NET WebForm + ClosedXML 0.105.1相依與升級SixLabors.Fonts

[研究]ASP.NET WebForm + ClosedXML 0.105.1相依與升級SixLabors.Fonts

2026-08-14

ASP.NET WebForm + .NET Framework 4.8.1 網站,如果 Windows 安裝 .NET 8,.NET Framework 的 ClosedXML 0.105.1 可以使用 SixLabors.Fonts 2.0 或 SixLabors.Fonts 3.0 嗎 ?

******

SixLabors.Fonts 1.0.1

https://www.nuget.org/packages/SixLabors.Fonts/1.0.1

1.01支援 .NET Framework


SixLabors.Fonts 2.1.3

https://www.nuget.org/packages/SixLabors.Fonts/2.1.3

至少需要.NET 6.0,不支援 .NET Framework


SixLabors.Fonts 3.1.0

https://www.nuget.org/packages/SixLabors.Fonts/3.1.0

至少需要.NET 8.0,不支援 .NET Framework

(完)

[研究]比較 Windows 11, Windows Server 2019, 2022, 2025的2026年 Windows Update 8月更新

[研究]比較 Windows 11, Windows Server 2019, 2022, 2025的2026年 Windows Update 8月更新

2026-08-14

比較 Windows 11, Windows Server 2019, 2022, 2025 繁體中文標準版 2026年 Windows Update 8月更新,相同 ?相異 ?原因 ? 表格呈現

ChatGPT (摘要重點部分)

共同的是「Windows 核心元件/安全性漏洞修補」;不同的是「各 OS 專屬元件、功能、版本分支、Server 角色與 .NET 元件」。

項目 Windows 11 Windows Server 2019 Windows Server 2022 Windows Server 2025
2026/08 月安全性累積更新 KB5121003(24H2/25H2) 有自己的 Server 2019 LCU 有自己的 Server 2022 LCU KB5120233
OS 核心安全修補
Windows Kernel 修補
Windows 網路相關元件
Active Directory / Server 元件 部分
IIS / Server 角色相關修補 部分
Hyper-V / 虛擬化 部分
Windows Client 專屬功能 ✅ 大量
Server 專屬功能
Windows 11 新功能
.NET Framework 安全更新 KB5120708 視已安裝 .NET 而定 視已安裝 .NET 而定 視已安裝 .NET 而定
惡意軟體移除工具 KB890830 ✅ 通常提供 通常也會提供 通常也會提供 通常也會提供
Windows Security/Defender 更新
更新後 OS Build 25H2 → 26200.9168 17763.x 20348.x 26100.x
是否可直接使用另一 OS 的 LCU

Windows 11 的 8 月更新除了安全修補之外,還加入 File Explorer 檔案大小單位改善、Windows Search 拼字容錯、Touchpad、Voice Access、Windows Hello ESS 等功能;這些是 Windows 11 Client 專屬功能,不會原封不動出現在 Server 2019/2022/2025。


真正「相同」的部分

  • Windows Kernel
  • Windows NT
  • Windows Networking
  • TCP/IP
  • Windows Graphics
  • Windows Authentication
  • Windows Security
  • Windows Defender
  • Windows Remote Desktop
  • Windows SMB
  • Windows Hyper-V
  • .NET Framework
  • 其他共用 Windows 元件

但是每個 OS 只會修補:「該 OS 實際存在的漏洞與元件」。


真正「不同」的部分

更新類型 Win11 Server 2019 Server 2022 Server 2025
Windows Kernel 🟢 🟢 🟢 🟢
Windows 網路核心 🟢 🟢 🟢 🟢
Windows Security 🟢 🟢 🟢 🟢
.NET Framework 🟢 🟢 🟢 🟢
Defender 🟢 🟢 🟢 🟢
MSRT 🟢 🟢 🟢 🟢
Start Menu 🟢 🔴 🔴 🔴
Taskbar 🟢 🔴 🔴 🔴
Windows 11 Explorer 新功能 🟢 🔴 🔴 🔴
Touchpad 🟢 🔴 🔴 🔴
Voice Access 🟢 🔴 🔴 🔴
Windows Hello ESS Client 功能 🟢 🔴 🔴 🔴
AD DS 🔴 🟢 🟢 🟢
DNS Server 🔴 🟢 🟢 🟢
DHCP Server 🔴 🟢 🟢 🟢
IIS Server 🔴 🟢 🟢 🟢
Hyper-V Server 功能 🔴/部分 🟢 🟢 🟢

LCU = Latest Cumulative Update,中文通常稱「最新累積更新」。

在 Windows Update 裡,LCU 是非常重要的一種更新,尤其是你使用的 Windows Server 2025 Standard。

名稱 意思 作用
LCU Latest Cumulative Update Windows 作業系統的最新累積安全/品質更新
SSU Servicing Stack Update 更新「負責安裝 Windows 更新」的元件
.NET Update .NET Framework 更新 修補 .NET Framework 漏洞
Defender Update Defender 更新 更新防毒/安全性元件
MSRT Malicious Software Removal Tool 惡意軟體移除工具

(完)

[研究]Windows Server 2025 標準版Windows Update 的8月更新

[研究]Windows Server 2025 標準版Windows Update 的8月更新

2026-08-14

2026-08 .NET Framework 安全性更新 (KB5120708) 

2026-08 安全性修補程式 (KB5120233) (26100.33296) 

KB890830:Windows 惡意軟體移除工具 x64 - v5.144 

Windows Security platform 更新 - KB5007651 (版本 10.0.29628.1000)

更新 主要作用 更新對象 是否屬於主要安全更新 通常是否需要重開機
2026-08 .NET Framework 安全性更新 (KB5120708) 修補 .NET Framework 漏洞 .NET Framework 3.5 / 4.8.1 等 🟠 可能需要
2026-08 安全性修補程式 (KB5120233) (26100.33296) 修補 Windows Server 作業系統本身 Windows Server 2025 核心 OS 🔴 是,最重要 通常需要
KB890830:Windows 惡意軟體移除工具 x64 v5.144 掃描、移除特定常見惡意軟體 惡意軟體 🟢 安全維護工具 通常不需要
Windows Security platform 更新 KB5007651 更新 Windows Security / 安全性平台元件 Windows Security 平台 🟢 安全元件更新 通常不需要


架構


Windows Server 2025 │ ┌───────────────────┼───────────────────┐ │ │ │ ▼ ▼ ▼ Windows OS .NET Framework Security │ │ │ │ │ ┌─────┴─────┐ │ │ │ │ ▼ ▼ ▼ ▼ KB5120233 KB5120708 KB5007651 KB890830 作業系統 .NET Framework Security 惡意軟體 安全修補 安全修補 Platform 移除工具


(完)

2026年8月13日 星期四

[研究]【資安職能訓練】《資通安全概論》新版教材 (教材 115/01 v4版;簡報 115/04 版)

[研究]《資通安全概論》(教材 115/01 v4版;簡報 115/04 版)

2026-08-13

【資安職能訓練】《資通安全概論》(教材 115/01 v4版;簡報 115/04 版)

https://ctts.nics.nat.gov.tw/DownloadDetail/70

  • 資通安全概論_新版教材_11501_v4.pdf
  • 資通安全概論新版教材_自我評量測驗v2.pdf
  • 資通安全概論主要教材-第1天課程簡報_11504.pdf
  • 資通安全概論主要教材-第2天課程簡報_11504.pdf
  • 資通安全概論主要教材-第3天課程簡報_11504.pdf


資安職能訓練 - 發展藍圖

https://ctts.nics.nat.gov.tw/about/Training


[研究]Microsoft.SourceLink.GitHub.10.0.400先安裝,再安裝 NPOI 2.8.0 測試 (成功)

[研究]Microsoft.SourceLink.GitHub.10.0.400先安裝,再安裝 NPOI 2.8.0 測試 (成功)

2026-08-13

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

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

建立一個新的、空的 WebForm 專案,把環境升級完


WebApplication1 更新: Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1 -> Microsoft.CodeDom.Providers.DotNetCompilerPlatform.4.1.0

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

安裝 Microsoft.SourceLink.Common.10.0.400

WebApplication1 正在安裝: BouncyCastle.Cryptography.2.6.2 ExtendedNumerics.BigDecimal.2025.1001.2.129 MathNet.Numerics.Signed.5.0.0 SkiaSharp.NativeAssets.Linux.NoDependencies.3.119.2 SkiaSharp.NativeAssets.macOS.3.119.2 SkiaSharp.NativeAssets.Win32.3.119.2 Enums.NET.5.0.0 Microsoft.IO.RecyclableMemoryStream.3.0.1 SkiaSharp.3.119.2 System.Security.Cryptography.Xml.8.0.2 System.Text.Encoding.CodePages.8.0.0 System.Threading.Tasks.Extensions.4.5.2 SharpZipLib.1.4.2 ZString.2.6.0 NPOI.2.8.0  

安裝成功,Compile 也成功,但有訊息



已開始重建... 1>------ 已開始全部重建: 專案: WebApplication1, 組態: Debug Any CPU ------ 1>C:\CodeTemp6\Solution1\packages\NPOI.2.8.0\build\NPOI.targets(8,5): warning : NPOI: You must accept the OSMF EULA license to use NPOI. Add <AcceptNPOIOSMFLicense>true</AcceptNPOIOSMFLicense> to your project file. 1> WebApplication1 -> C:\CodeTemp6\Solution1\WebApplication1\bin\WebApplication1.dll ========== 全部重建: 1 成功、0 失敗、 0 略過 ==========
(完)

相關

[研究]Microsoft.SourceLink.GitHub.10.0.400安裝測試 (成功)

[研究]Microsoft.SourceLink.GitHub.10.0.400安裝測試 (成功)

2026-08-13

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

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

建立一個新的、空的 WebForm 專案,把環境升級完


WebApplication1 更新: Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1 -> Microsoft.CodeDom.Providers.DotNetCompilerPlatform.4.1.0

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

安裝 Microsoft.SourceLink.Common.10.0.400

WebApplication1 正在安裝: Microsoft.SourceLink.Common.10.0.400 System.Buffers.4.6.1 System.Numerics.Vectors.4.6.1 System.Runtime.CompilerServices.Unsafe.6.1.2 System.Memory.4.6.3 System.IO.Hashing.10.0.11 Microsoft.Build.Tasks.Git.10.0.400 Microsoft.SourceLink.GitHub.10.0.400

安裝成功,Compile 也成功,也就是

Microsoft.SourceLink.Common.8.0.0 => Microsoft.SourceLink.Common.10.0.400 會失敗;
Microsoft.SourceLink.Common.10.0.400 直接安裝會成功。

(完)

相關

[研究]Microsoft.SourceLink.GitHub.8.0.0安裝測試 (失敗)

[研究]Microsoft.SourceLink.GitHub.8.0.0安裝測試 (失敗)

2026-08-13

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

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

建立一個新的、空的 WebForm 專案,把環境升級完


WebApplication1 更新: Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1 -> Microsoft.CodeDom.Providers.DotNetCompilerPlatform.4.1.0

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

安裝 NPOI.2.8.0

WebApplication1 正在安裝: Microsoft.Build.Tasks.Git.8.0.0 Microsoft.SourceLink.Common.8.0.0 Microsoft.SourceLink.GitHub.8.0.0

安裝成功

再升級


WebApplication1 更新: 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.Buffers.4.6.1 System.Numerics.Vectors.4.6.1 System.Runtime.CompilerServices.Unsafe.6.1.2 System.Memory.4.6.3 System.IO.Hashing.10.0.11

再升級的安裝失敗,出現訊息


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

失敗。

(完)

相關

[研究]Autofac.WebApi2.6.2.0 升級 Autofac.WebApi2.7.0.0 (失敗)

[研究]Autofac.WebApi2.6.2.0 升級 Autofac.WebApi2.7.0.0 (失敗)

2026-08-13

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

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

升級元件失敗

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

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

根據下面網址說明,需要 .NET Framework 4.8.1

https://www.nuget.org/packages/Autofac.WebApi2/7.0.0#dependencies-body-tab
(完)

相關

[研究]NPOI 2.8.0安裝測試 (失敗)

[研究]NPOI 2.8.0安裝測試 (失敗)

2026-08-13

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

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

建立一個新的、空的 WebForm 專案,把環境升級完


WebApplication1 更新: Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1 -> Microsoft.CodeDom.Providers.DotNetCompilerPlatform.4.1.0

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

安裝 NPOI.2.8.0

WebApplication1 正在安裝: BouncyCastle.Cryptography.2.6.2 ExtendedNumerics.BigDecimal.2025.1001.2.129 MathNet.Numerics.Signed.5.0.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 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 SkiaSharp.3.119.2 System.Security.Cryptography.Xml.8.0.2 System.Text.Encoding.CodePages.8.0.0 System.Threading.Tasks.Extensions.4.5.2 SharpZipLib.1.4.2 ZString.2.6.0 NPOI.2.8.0

除了

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.8.0.0 -> System.Text.Encoding.CodePages.10.0.11 System.Security.Cryptography.Xml.8.0.2 -> System.Security.Cryptography.Xml.10.0.11 SkiaSharp.3.119.2 -> SkiaSharp.4.151.1 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 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 ExtendedNumerics.BigDecimal.2025.1001.2.129 -> ExtendedNumerics.BigDecimal.3003.2.0.161 BouncyCastle.Cryptography.2.6.2 -> BouncyCastle.Cryptography.2.7.0 正在安裝: System.IO.Hashing.10.0.11 System.ValueTuple.4.6.2 System.Formats.Asn1.10.0.11 Microsoft.Bcl.Cryptography.10.0.11

再升級,安裝失敗,出現訊息


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

失敗。

(完)

相關

[研究]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 目前尚未有以知安全弱點,先不升級。

(完)

相關

[研究]qpdf-12.3.2-msvc64 如何移除 pdf 密碼

[研究]qpdf-12.3.2-msvc64 如何移除 pdf 密碼

2026-08-13

qpdf-12.3.2-msvc64 如何移除 pdf 密碼

前提是你知道 PDF 的開啟密碼/擁有者密碼,且有權限解除保護。

qpdf-12.3.2-msvc64 是 Windows 64-bit 版 qpdf。最常用的是 --decrypt。

1. 建議先查看 PDF 是否加密

在 CMD / PowerShell 執行:

qpdf --show-encryption "D:\PDF\input.pdf"

2. 如果 PDF「不用輸入密碼」,但不能列印/複製

這種通常是 PDF 權限密碼(owner password),不是開啟密碼。

如果你有權限解除限制,在 CMD / PowerShell 執行:

qpdf --decrypt "D:\PDF\input.pdf" "D:\PDF\output.pdf"

3. PDF 有「開啟密碼」

在 CMD / PowerShell 執行:

qpdf --password=123456 --decrypt "D:\PDF\input.pdf" "D:\PDF\output.pdf"

如果密碼包含特殊字元,建議把密碼用引號包起來。

(完)

[研究]SSMS 20, 21, 22比較

[研究]SSMS 20, 21, 22比較

2026-08-13

SSMS 20, 21, 22 可以 離線更新 ? 線上更新 ? WSUS更新 ?

方式SSMS 20SSMS 21SSMS 22
Internet 線上更新
下載安裝程式後更新
完全離線更新⚠️ 可用固定版本安裝程式/離線方式
建立 Offline Layout,再帶到隔離主機⚠️
WSUS 直接提供 SSMS 更新❌ 不屬於一般 WSUS 更新模式
Microsoft Update / Windows Update 自動更新 SSMS
Visual Studio Installer 更新不同舊架構


1. 線上更新

SSMS 21、22 是目前比較新的架構,透過 Visual Studio Installer 管理更新。

也可以在 SSMS 裡檢查更新,或設定關閉 SSMS 時自動更新。Microsoft 官方目前明確支援這些方式。

SSMS 22 目前最新正式版是 22.8.0(2026-07-14)。

https://learn.microsoft.com/zh-tw/ssms/release-notes-22

2. 完全離線更新

可以。

例如公司 Server 沒有 Internet,可以在一台「有 Internet 的電腦」先建立 SSMS Offline Layout:

建立 SQL Server Management Studio 的離線安裝
https://learn.microsoft.com/zh-tw/ssms/install/create-offline
https://learn.microsoft.com/en-us/ssms/install/create-offline

3. WSUS 更新:

❌ 不要把 SSMS 20/21/22 當成 Windows Update / SQL Server Update

更新 SQL Server Management Studio
https://learn.microsoft.com/zh-tw/ssms/install/update
https://learn.microsoft.com/en-us/ssms/install/update

建議

項目建議預留
SSMS 22 安裝後≥ 4 GB
SSMS 22 + 繁體中文 Offline Layout建議至少 10 GB
更新 Repository建議 15~20 GB
如果要保留多個 SSMS 22 版本20~30 GB 以上

建議用 線上安裝。

(完)

[研究]中華龍網(DragonSoft)GCB 政府組態基準 - 管理設定稽核工具

[研究]中華龍網(DragonSoft)GCB/FCB 政府金融資安組態稽核軟體

2026-08-13

GCB/FCB 政府金融資安組態稽核軟體
GCB(政府組態基準,Government Configuration Baseline)
https://www.dragonsoft.com/pagenation/D-GCB.html

政府組態基準(GCB)
https://www.nics.nat.gov.tw/core_business/cybersecurity_defense/GCB/

GCB 要自行手動設定麻煩,有工具可以設定、管理、查詢、稽核 會方便多了。

TWGCB 類似產品 (ChatGPT)

產品/工具 TWGCB 稽核 Windows Server IIS 10 集中管理 備註
中華龍網 D-GCB ⭐⭐⭐⭐⭐ 台灣 TWGCB 最直接
資安院 GCB 官方部署資源 ⭐⭐⭐⭐⭐ 免費,但比較偏 GPO/部署,不是完整管理平台
Tenable Nessus / Security Center ⭐⭐⭐⭐ 可做 Compliance Audit,但要確認 TWGCB Audit 檔
Qualys Policy Compliance ⭐⭐⭐⭐ 可自訂 Policy/Control,可自行建立 TWGCB
HCL BigFix Compliance ⭐⭐⭐ 強項是大量端點組態管理
Tripwire Enterprise ⭐⭐⭐ 組態監控、變更管理強
CIS-CAT Pro ⭐⭐ 強在 CIS,不是台灣 TWGCB
Microsoft Security Compliance Toolkit ⭐⭐ ⭐⭐⭐⭐⭐ Microsoft Baseline,不是 TWGCB

注意,Tenable、Qualys、CIS-CAT、BigFix 等「可以做 Compliance」≠「原生支援 TWGCB」。

(完)

[研究]NOPI 2.7.6 與 2.8.0 授權比較

[研究]NOPI 2.7.6 與 2.8.0 授權比較

2026-08-13

NOPI 2.7.6 授權

https://licenses.nuget.org/Apache-2.0

NOPI 2.8.0 授權

https://www.nuget.org/packages/NPOI/2.8.0/License

可以。這兩個版本的最大差異不是功能,而是授權方式。我查了 NPOI 官方 NuGet 與 GitHub,目前可以確認 NPOI 2.8.0 從 Apache-2.0 的單純模式,加入了 Open Source Maintenance Fee Agreement(OSMF EULA)針對「Binary Release」的條款。

https://github.com/nissl-lab/npoi

NPOI 2.7.6 vs 2.8.0 授權比較

項目 NPOI 2.7.6 NPOI 2.8.0
NuGet 版本 2.7.6 2.8.0
發布時間 2026/02/27 2026/04/06
原始碼授權 Apache License 2.0 Apache License 2.0
NuGet Binary 授權 Apache-2.0 OSMF EULA + Apache-2.0
是否有 Maintenance Fee ❌ 沒有 ⚠️ 有條件
收費對象 不適用 使用 NPOI 從事營收活動,且年營收 ≥ US$10,000
年營收 < US$10,000 免費 免 Maintenance Fee
非營收用途 免費 免 Maintenance Fee
已付給維護者 Support/Maintenance Fee 不適用 免 OSMF Fee
是否可以自行編譯
自行編譯 Binary Apache-2.0 不受 OSMF Agreement 限制,但仍須遵守 Apache-2.0
原始碼能否修改
原始碼能否重新散布
商業軟體使用 ⚠️ 可能需要支付 Maintenance Fee
NuGet 直接安裝 Binary ✅ 單純 ⚠️ 需接受/遵守 OSMF EULA
對企業內部系統的影響 需要確認公司營收是否達門檻
授權複雜度 ⭐⭐⭐
你的 ASP.NET WebForm 專案 比較單純 需要特別注意

(完)

2026年8月12日 星期三

[研究]簡介 DSWAgent-agent-192.168.128.129.msi - 中華龍網(DragonSoft)GCB 政府組態基準工具

[研究]簡介 DSWAgent-agent-192.168.128.129.msi - 中華龍網(DragonSoft)GCB 政府組態基準工具

2026-08-12

ChatGPT (除安裝抓圖,其他沒確認過)

簡介 DSWAgent-agent-192.168.128.129.msi

(合法買的,Server 端不在此網段,先用台 VM測試安裝看看)






ChatGPT

DSWAgent-agent-192.168.128.129.msi 從檔名與公開資料來看,很可能是中華龍網(DragonSoft)的 DSWAgent 用戶端代理程式,其中 192.168.128.129 很可能是它要連線的管理/伺服器 IP。

中華龍網(DragonSoft)官方網站

1. DSWAgent 是什麼?

DSWAgent 是中華龍網的 Agent(端點代理程式)。公開的惡意程式分析資料中,可以看到:

  • ProductName:DSWAgent
  • OriginalFileName:DSWAgent.exe
  • CompanyName:中華龍網
  • FileVersion:1.1.3.1
  • Registry 路徑包含:
    • HKLM\SOFTWARE\Dragonsoft\Agent
    • HKCU\Software\Dragonsoft\Agent

這些資訊與中華龍網的產品相符。

https://any.run/report/c777e7cd7fc3027d86b03e8e31fc3cf92afe071d28f0503006914df46d300397/820310e8-03b9-4491-ba02-c518afffe9bc

中華龍網目前的產品線包括 VANS 資安弱點通報、GCB 政府組態基準、DVM 弱點掃描、EDR 等端點資安產品;其官方網站也直接把 dswagent 列在相關產品/技術關鍵字中。

https://www.sitelike.org/similar/genie-networks.com/

2. 192.168.128.129 是什麼?


檔名:DSWAgent-agent-192.168.128.129.msi

很可能是:

部分 意義
DSWAgent Agent 程式名稱
agent 表示這是端點 Agent 安裝包
10.20.62.217 管理伺服器/DSWAgent Server 的 IP
.msi Windows Installer 安裝套件

所以它比較像是:「把 DSWAgent 安裝到某台 Windows 電腦,並設定它連到 192.168.128.129」

而不是一般使用者自己安裝的應用程式。


3. 它可能用來做什麼?

如果你是在公司、政府機關或資安環境看到這個 MSI,我會優先懷疑它是用於:

Windows 端點 ↔ 資安管理伺服器

例如:


10.20.62.217 DSWAgent 管理端 │ ┌─────────┼─────────┐ │ │ │ ▼ ▼ ▼ PC-001 PC-002 Server-001 DSWAgent DSWAgent DSWAgent

可能負責:

  • 端點資訊盤點
  • 軟體/硬體資產資訊
  • 弱點掃描相關資訊蒐集
  • 資安組態檢查
  • 接收管理端派送的工作
  • 將掃描/檢查結果回傳伺服器

實際功能則要看你們公司安裝的是中華龍網哪一套產品,例如 VANS、GCB、DVM 等,不能只從檔名判定。


4. 這是不是病毒?

不能因為名稱是 DSWAgent 就直接判定是病毒。

反而有一個很重要的線索:公開分析資料明確顯示某個 DSWAgent.exe 的 CompanyName 是「中華龍網」,而中華龍網官方網站也確實存在 DSWAgent 這個產品相關資訊。

但是要注意:「DSWAgent 是合法軟體」≠「你手上的這個 MSI 一定安全」。

尤其你的檔名帶有特定內部 IP 192.168.128.129,我會建議先確認 數位簽章、Hash、安裝來源及 MSI 內容。


5. 如果這是你公司電腦上的檔案

你可以在 PowerShell 執行:


Get-AuthenticodeSignature "C:\你的路徑\DSWAgent-agent-10.20.62.217.msi"

再取得 SHA-256:


Get-FileHash "C:\你的路徑\DSWAgent-agent-10.20.62.217.msi" -Algorithm SHA256

以及查看 MSI 基本資訊:


msiexec /i "C:\你的路徑\DSWAgent-agent-10.20.62.217.msi"

先不要按安裝,如果只是要查資訊,可以先做前兩項。

(完)