问题标签 [fileversioninfo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 刷新 Program Files 目录中的 FileVersionInfo
我有一个带有 FileSystemWatcher 的程序,它监视自己被外部程序更新到新版本(这涉及重命名当前的可执行文件并在其位置复制一个新的可执行文件)。
问题是,当它正在观看的文件位于 Program Files 目录中时,FileVersionInfo.GetVersionInfo() 不会获取新的版本信息,它会返回与第一次相同的内容。因此,如果它从 1.1 更新到 1.2,它会说“从 1.1 升级到 1.1”而不是“从 1.1 升级到 1.2”。它在调试目录中正常工作,但在 Program Files 下,它不会得到正确的值。
这是它正在做的事情的本质,没有所有的异常处理、处理、日志记录和线程调用等:
如何让 GetVersionInfo() 刷新以查看新版本?还有什么我应该打电话的吗?
windbg - 为什么 WinDBG 在转储中显示不匹配的 FileVersion?
TL;博士
为什么 WinDBG 会lmv
显示两个版本信息字段(当我知道没有其他工具可以做到这一点时)以及在哪些情况下这些字段会有所不同?
背景:我有一个我们的应用程序的实时转储(来自死锁)。符号已正确加载,我能够将死锁追溯到微软的pdm.dll
(用于我们的 vbscript 引擎的“进程调试管理器”)。
然后,我想检查在生产站点的会话中加载了该 DLL 的哪个版本:
如您所见,文件和产品版本显示了两次,但它们在转储中不匹配!
当我在我的机器上交叉检查(显然,查看时间戳和校验和!)运行 iexplore 进程的相同文件时:
版本信息匹配。
c# - Visual Studio 在哪里获取 COM DLL 版本
当我向项目添加 COM 引用时,VS 会显示名称和版本。显示的版本是两个术语(即它采用的形式X.X
)。
但是,当我尝试获取版本号(通过FileVersionInfo
)时,我会得到一个格式中的数字X.X.X.X
,它并不总是与添加引用对话框中显示的数字相关。
如何从 DLL 文件中提取此数字?
c# - 我可以在已编译的程序集中更改 AssemblyInformationalVersion 吗?
我们对 FileVersionInfo的ProductBuildPart使用 svn 修订版。因为我们高于修订版 65536,所以我们必须修改数字。作为补偿,我们将实数粘贴在AssemblyInformationalVersionAttribute中。当我们从源代码构建程序集时,这很容易。
但是,我们有一个由 SGen 生成的程序集以提高性能。是否有一种简单的方法可以在已构建的程序集中更改/添加 AssemblyInformationalVersionAttribute?
powershell - 使用 PowerShell 查找具有相同名称的文件夹和文件
我需要提取某些我不知道名称的 DLL 文件的文件版本。我所知道的是保存文件版本的文件所在的位置,并且它的名称与它隐藏在下面的文件夹相同。
事实上,它是这样的:
C:\inetpub\wwwroot\APPFolder\bin\files
(其中子文件夹的名称与 bin 文件夹中文件的名称匹配)
经过多次尝试(和很多失败),我来回走了一点,现在我很舒服地靠在这段代码上....接近,但没有雪茄:
此代码递归搜索所有文件\temp\documents
,然后匹配文件夹中的文件,这很好......但不是我想要的。上面的代码还给出了与它们所在的文件夹匹配的文件所在的文件夹,而不仅仅是匹配的文件。
所以......有什么建议吗?上面提到的 bin 文件夹中有多个 DLL 文件,这也是我需要选择与 APPFolder 同名的一个原因的部分原因。
c++ - VerQueryValue 的 MacOS X 等效项?
我目前正在将一个项目移植到 MacOS,在 Windows 版本中,我们使用 VerQueryLang(...)来确定窗口标题的一些文件版本信息,它是 winapi 的一部分。
MacOS上是否有等效功能?
database - 如何维护文件的版本
我想开发一个文档维护系统。我面临的问题是如何维护文件的版本?我有一个方法:即创建一个历史文件夹,如果有人想更新文件,他会做一些更改并再次上传。上传文件后,我将为每个文件保留一个单独的历史文件夹并添加文件的更新版本。如果有人有解决方案,请建议我。提前谢谢你。
c# - 如何在手持设备 (CF/CE) 中获取 .exe 的文件版本信息?
在我的服务器应用程序中,我可以通过这种方式获取文件版本信息:
...但是该技巧在 Compact Framework 中似乎不起作用(我得到,“找不到类型或命名空间名称'FileVersionInfo'(您是否缺少 using 指令或程序集引用?) ”
似乎我在服务器/Web API (.NET 4.5.1) 应用程序中需要的“使用”是 System.Diagnostics,但将其添加到我的 CF 应用程序会使 using 语句变灰(并且无法解决上面显示的错误消息)。
我是否需要添加特定的程序集引用以及特定的“使用”才能使其正常工作?
或者我是否需要为此使用自定义 CF 代码,例如在此处找到的代码?
更新
在上面链接的文章中,它说:“在 Compact Framework 中获取文件版本信息非常简单——前提是您想要获取信息的文件是托管程序集。”
所以,好吧:什么是简单的方法?在我跳过火圈之前,我会先尝试一下。而且我知道这个问题对许多人来说似乎很幼稚,但是:我们创建的自定义 .exe(“内部”应用程序)是“本机”还是“托管”?我尝试在谷歌上搜索两者之间的区别,但没有找到定义......
powershell - 创建一个 powershell 脚本,将文件夹中的文件版本与哈希表进行比较
我想知道是否有人可以让我了解如何设置一个脚本来查看您计算机上的文件夹(例如 C:\Windows\System32)并能够查看文件夹中的文件以与预定义的哈希表。
此哈希表将包含有关在“system32”文件夹中找到的相同文件的信息,然后定位具有错误版本的文件。哈希表将包含文件及其版本。
例子:
advapi32.dll 6.1.7600.16385
comctl32.dll 6.1.7600.16385
comdlg32.dll 6.1.7600.16385
gdi32.dll 6.1.7600.16385
找到错误版本的文件后,输出将以表格格式列出有问题的文件。
我知道我必须使用 [System.Diagnostics.FileVersionInfo] 来查找有助于获取文件版本信息的方法。我知道我必须使用该.productVersion
属性进行比较。
我不知道如何开始。如果您需要更多信息,请告诉我。
c++builder - 如何使exe文件版本对所有版本的windows系统都可读
我有用 c++ builder xe2 编写的 32 位程序,它具有动态链接的 bpl 文件。我的程序更新系统是基于 exe 文件版本的。但是在一些使用 windows 2008 serwer 32 位更新系统的客户端失败,因为程序看到 1.0.0.0 文件版本而不是 2.3.0.94。当我在此窗口中检查文件的属性时,它也显示 1.0.0.0。
如何编译exe文件以确保该版本对所有版本的windows系统都可读?