0

我遇到了这样的问题:

http://svn.haxx.se/tsvnusers/archive-2008-07/1051.shtml

除了该应用程序是我们自己的(对不起,不会给你保密的细节)。尽管如此,SideBySide 的缺陷并不是我们的错。

无论如何,版本 X 有效,版本 Y 在一开始就轰炸了。我面临着遍历一堆目录和多达 100 个 dll 文件的任务,以找出可能存在的差异。

看起来两个 dll 文件之间存在冲突,它们加载了另一个 dll 文件的两个不同版本。

感谢您对 Python / 其他片段的帮助,以从给定文件中提取清单。谢谢!

编辑:顺便说一句,我确实找到了一种方法:我可以运行以下命令(mt.exe 是 Visual Studio 2008 工具的一部分)mt.exe -inputresource:MyFile.dll;#2 -out:MyFile.dll.extracted_manifest.txt:.

这是一个好的开始,但有两个问题:

  1. 可以嵌入多个清单(在我的理解中):#1、#2、#3,... - 我不知道哪些清单和多少提前。最大值是多少?
  2. 如果我猜测并使用该参数运行 mt.exe,我会失败。处理这些错误会使脚本变长。

有人可以对此有所了解吗?

另一个编辑:啊,没关系!1 用于 .exe,2 用于 dll,仅此而已。我想我现在知道该怎么做了。但是,如果您有比我更好的解决方案,或者如果您从 Python / 其他脚本自动调用 mt.exe,那么请随时分享。

4

1 回答 1

0

手动蛮力(点击)方法工作得更快。只用了几个小时。

于 2010-03-08T22:14:29.057 回答