我正在为我们在多台客户端机器上提供的软件实现一个 .DLL 加载器/更新器。我们需要检查机器上文件的版本,然后将其传递给 SQL 以确定文件是否是最新版本 - 我们有一个这样的文件夹结构:
- 应用
--- 文件
---- 子文件夹
----- 加载器.exe
加载程序 .exeList(of FileInfo)
从应用程序文件夹中获取一个。此文件夹中有各种程序集并获取程序集的版本以便检查,我正在使用Assembly.LoadFile(x.FullName).GetName().Version
并通过使用它,如果文件需要更新或稍后访问 loader.exe 有该文件正在使用中。我将信息放入数据表中,然后将其传递给 SQL 中的存储过程。
Dim dt As New DataTable("ModuleTableVariable")
dt.Columns.Add("ModuleName")
dt.Columns.Add("ModuleVersion")
Dim rows As List(Of DataRow) = fileList.Select(Function(x)
Dim row = dt.NewRow()
row("ModuleName") = x.Name
If x.Extension = ".dll" Or x.Extension = ".exe" Then
row("ModuleVersion") = Assembly.LoadFile(x.FullName).GetName().Version
Else
row("ModuleVersion") = x.CreationTime
End If
Return row
End Function).ToList()
所以很明显,我指的是程序集版本的部分是我需要更改或实施某种使用语句的地方,该语句将处理对相关文件的访问,有什么想法吗?
注意:如果您显示合适的 using 语句或解决方案,我也会接受 C# 中的答案,不必是完整的 LINQ。