2
A
回答
7
MSDN上How to: Determine If a File Is an Assembly (C# and Visual Basic):
如何以編程方式確定一個文件是彙編
- 調用
GetAssemblyName
方法,傳遞文件的完整文件路徑和名稱,你是測試。- 如果引發
BadImageFormatException
異常,則該文件不是程序集。
它甚至有一個VB.NET例如:
Try Dim testAssembly As Reflection.AssemblyName = Reflection.AssemblyName.GetAssemblyName("C:\Windows\Microsoft.NET\Framework\v3.5\System.Net.dll") Console.WriteLine("Yes, the file is an Assembly.") Catch ex As System.IO.FileNotFoundException Console.WriteLine("The file cannot be found.") Catch ex As System.BadImageFormatException Console.WriteLine("The file is not an Assembly.") Catch ex As System.IO.FileLoadException Console.WriteLine("The Assembly has already been loaded.") End Try
,因爲它使用的控制流異常這是不理想的。
我也不確定它是如何在角落的情況下行爲,如文件是一個程序集,但不支持當前的CPU體系結構,或者如果它的目標是框架的不支持的變體。
0
只是我已經寫一個通用的使用功能,以補充@Loki答案:檢查是否一個文件是一個.NET程序集]的
''' <summary>
''' Determines whether an exe or dll file is an .Net assembly.
''' </summary>
''' <param name="File">Indicates the exe/dll file to check.</param>
''' <returns><c>true</c> if file is an .Net assembly, <c>false</c> otherwise.</returns>
Friend Function FileIsNetAssembly(ByVal [File] As String) As Boolean
Try
System.Reflection.AssemblyName.GetAssemblyName([File])
' The file is an Assembly.
Return True
Catch exFLE As IO.FileLoadException
' The file is an Assembly but has already been loaded.
Return True
Catch exBIFE As BadImageFormatException
' The file is not an Assembly.
Return False
End Try
End Function
相關問題
- 1. 如何檢查文件是否是二進制文件?
- 2. 檢查文件數據是否爲二進制文件
- 3. ç打開文件來檢查它是否是二進制的,如果是這樣打印是二進制
- 4. 如何檢查上傳的文件是否是二進制文件?
- 5. 檢查是否編譯了「-static」的二進制文件
- 6. 如何檢查字符串是否在二進制文件
- 7. 如何檢查HDFS文件是否包含二進制數據?
- 8. 檢查是否在二進制文件中使用提升
- 9. VB.NET:檢查文件是否保存?
- 10. STLloader和three.js - 如何檢查文件是二進制文件?
- 11. 用Node.js檢查文件是二進制文件還是ASCII文件?
- 12. 如何檢查文件是否是二進制文件並讀取所有不是的文件?
- 13. Visual Basic - 函數來檢查數字是否是二進制的
- 14. 如何檢查Vim插件中PATH中是否存在二進制文件?
- 15. 檢查是否爲空VB.NET
- 16. 檢測文件是二進制還是純文本?
- 17. 檢查該文件中預先不是二進制收到鉤
- 18. 是否可以查看一個和零個二進制文件?
- 19. 如何比較二進制文件以檢查它們是否相同?
- 20. 如何檢查新的systemd用戶是否有權執行二進制文件
- 21. 如何檢查二進制文件是否由特定源構建
- 22. 如何檢查lldb是否可以附加到二進制文件?
- 23. 如何檢查linux二進制文件是否有新添加的代碼
- 24. 檢查文件是否完成複製
- 25. 如何檢查.NET十進制值是否爲整數?
- 26. 檢查共享庫是否與二進制兼容?
- 27. 檢查二進制搜索樹是否退化
- 28. 檢查浮點數是否完全轉換爲二進制
- 29. 嘗試檢查樹是否爲二進制搜索樹
- 30. 檢查二進制搜索樹是否有效javascript
可能重複(http://stackoverflow.com/questions/ 330032 /檢查,如果一個文件是一個網絡程序集) – ElektroStudios