我以为我理解了这个垃圾......
我有一个exe编译使用MFC dll版本9.0.21022.8,我正在尝试安装到没有x86_ vc9 任何东西的机器 - 根本没有x86。只是amd。
无论如何,我以为我在安装程序中携带了我需要的内容,但看起来我的文件位于相对于exe的错误位置,并且没有我需要的bindingRedirect条目。
我的exe目录下的目录中有MS dll,如:
Exe Dir \ Microsoft.VC90.MFC \ dlls和manifest
Exe Dir \ Microsoft.VC90.CRT \ dlls and manifest
dll和manifest适用于版本9.0.30729.1。
首先,dll和manifest应该在exe目录而不是子目录中吗?
其次,我在dependentAssembly部分中添加了一个依赖项,其中包含每个清单中的bindingRedirect条目,但仍然没有运气。这是放的地方吗?我应该将bindingRedirect内容粘贴到应用程序清单中吗?
感谢任何帮助/想法。
答案 0 :(得分:0)
将支持文件还原为9.0.21022.8。编译/链接过程将使用为Visual Studio安装的任何版本。这意味着,在这种情况下,生成的二进制文件默认使用9.0.21022.8。如果我安装了VS服务包或更新,需要使用较新的dll版本,比如控件或诸如此类的,那么我的二进制文件将需要该版本,我需要在我的支持文件中携带它。