■88257 / inTopicNo.3) |
Re[1]: DLLの参照設定を確認する方法 |
□投稿者/ 魔界の仮面弁士 (1782回)-(2018/08/15(Wed) 16:06:16)
|
■No88255 (タランティーノ さん) に返信 > もしそのDLLがexeファイルと同じフォルダーにない場合 グローバルアセンブリキャッシュに配置する方法もありますね。
開発環境の場合は、[参照の追加] ダイアログ ボックスへの追加のために 下記のエントリを利用できます。
https://support.microsoft.com/ja-jp/help/306149/
[HKEY_CURRENT_USER\Software\Microsoft\.NETFramework\AssemblyFolders\タランティーノ] @="C:\\Example\\タランティーノ\\"
> 予め必要なDLLが揃っているかどうか確認したいのですが まずはアプリのインストーラーを見直すべきかと思いますが、 XCOPY 配置時に漏れが出た場合の調査などで必要ということでしょうか。
> どのようなコードを書けば良いですか? 試しに作ってみました。コマンドライン引数に EXE のフルパスを渡してみてください。
Imports System.Reflection Public Module Module1 Public Sub Main(args As String()) Console.Clear() Console.BackgroundColor = ConsoleColor.Black Console.ForegroundColor = ConsoleColor.White For Each file As String In args Console.Write("ファイルパス:") Console.ForegroundColor = ConsoleColor.Green Console.WriteLine(file) Console.ForegroundColor = ConsoleColor.White Console.Write("アセンブリ名:") Try Dim asm = Assembly.LoadFile(file) Console.ForegroundColor = ConsoleColor.Cyan Console.WriteLine(asm.FullName) Console.ForegroundColor = ConsoleColor.White Dim ans = asm.GetReferencedAssemblies() Dim l = ans.Length.ToString() Dim ls = l.Length.ToString() For n = 0 To ans.Length - 1 Console.Write("参照{0," & ls & "}/" & l & ":", n + 1) Dim an = ans(n) Console.ForegroundColor = ConsoleColor.DarkGreen Console.WriteLine(an.Name) Try Console.ForegroundColor = ConsoleColor.Yellow Dim a = Assembly.Load(an) Console.WriteLine(vbTab & a.Location) Catch ex As Exception Console.ForegroundColor = ConsoleColor.Magenta Console.WriteLine(vbTab & "参照不可") End Try Console.ForegroundColor = ConsoleColor.White Next Catch ex As Exception Console.ForegroundColor = ConsoleColor.Red Console.WriteLine("ロード失敗") Console.ForegroundColor = ConsoleColor.White End Try Console.WriteLine(StrDup(Console.BufferWidth - 1, "-"c)) Next Console.ReadKey() Console.ResetColor() End Sub
End Module
|
|