文章目錄
在 Linux 上確認 dll 版本
這是為了解決 ASP.NET Core 3.1 的 amd64 image 無法在 arm 晶片 (M1) 上執行而衍生的問題
我嘗試在 ASP.NET Core 3.1 的 application 中升級一個 NuGet package 以套用在 .NET 5 以後加入的功能,為了確認 NuGet package 有成功升級並包進 image,所以想要在 container 中直接確認 dll 版本
基本環境說明
- Debian GNU/Linux 11 (bullseye)
NuGet packages
- Microsoft.Extensions.Hosting 6.0.1
Docker images
- mcr.microsoft.com/dotnet/sdk:6.0
- mcr.microsoft.com/dotnet/aspnet:6.0-bullseye-slim-amd64
JetBrains Rider 2021.3.3
執行方式
安裝套件
apt update && apt install -y mono-utils
使用套件來取得 dll 版本
語法
monodis --assembly {dll file} |grep Version
範例
monodis --assembly Microsoft.Extensions.Hosting.dll |grep Version
心得
感覺上使用機會不高,但既然查了資料還是紀錄一下加深印象
如果仔細看可以發現 dll 的版本是 6.0.0.0
與 NuGet package 的版本 (Microsoft.Extensions.Hosting 6.0.1
) 對不上,不過從開發工具來看 AssemblyVersion
就是 6.0.0.0
參考資訊
文章作者 Yowko Tsai
上次更新 2022-04-02
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。