目的
ビルドしたDLLのアーキテクチャを知りたい。
- 過去にビルドしたものがx86 or Any CPU(MSIL) or x64なのかを生成物から調べたい。
- .NET 限定。
詳細情報を取得
How can I determine if a .NET assembly was built for x86 or x64? より。
現在のディレクトリにあるTARGET.dll
の情報
PowerShell
[reflection.assemblyname]::GetAssemblyName("${pwd}\TARGET.dll") | fl
一覧でより簡単に見てみる
現在のディレクトリにあるdllやexe等をかたっぱしから一覧にして、GUIを表示する。powershellすご。
※exeやdll以外の警告がDELLので注意、TODO:フィルタ方法教えてほしい
※TODO:ProcessorArchitectureの説明は、stackoverflow参照
PowerShell
Get-ChildItem -Name -File `
| ForEach-Object -Process {[reflection.assemblyname]::GetAssemblyName("${pwd}\" + $_) } `
| Select-Object -Property Name, Version, ProcessorArchitecture `
| Out-GridView
※上記コマンド中の`はエスケープを表します。そのまま投入しても動作します。
参考文献
.NET 関連
- How can I determine if a .NET assembly was built for x86 or x64? - stackoverflow (英語)
- 【.NET】 私、 [対象プラットフォーム] は [Any CPU] でって言ったよね! - Qiita - ビルドプラットフォームのまとめ、気が向いたらWoW回避の処理でも公開しようかな
- .NETにおける64ビットプロセスと32ビットプロセスについて - Qiita
- How to find if a native DLL file is compiled as x64 or x86? - stackoverflow - ネイティブDLL等の判断はこちら
Powershell関連
- Out-GridView - forsenergy.com
- PowerShell の Get-ChildItem の -Filter の挙動 - Qiita - dllとexeで絞りたかったが、やり方がいまいちつかめなかった
- ファイルの一覧を表示する(Get-ChildItem) - suyamasoft.blue.coocan.jp
- ソースコードの式の途中で改行する方法 - バヤシタ[PowerShell]