对 Microsoft dll 版本进行绑定重定向的最佳方法?
我以为我理解这个垃圾......
我有一个编译为使用 MFC dll 版本 9.0.21022.8 的 exe,并且正在尝试安装到没有 x86_vc9 任何东西的计算机 - 根本没有 x86 。只是AMD。
不管怎样,我以为我在安装程序中携带了我需要的东西,但看起来我的文件相对于exe位于错误的位置,并且没有我需要的绑定重定向条目。
我的 exe 目录下的目录中有 MS dll,例如:
Exe Dir\Microsoft.VC90.MFC\dlls 和清单
Exe Dir\Microsoft.VC90.CRT\dlls 和清单
dll 和清单适用于版本 9.0.30729.1。
首先,dll 和清单应该位于 exe 目录中而不是子目录中吗?
其次,我在每个清单中添加了 dependentAssembly 部分的依赖项,其中包含 BindingRedirect 条目,但仍然没有运气。那是放它的地方吗?我应该将绑定重定向内容粘贴到应用程序清单中吗?
任何帮助/想法表示赞赏。
I thought I understood this junk....
I have an exe compiled to use MFC dlls version 9.0.21022.8, and am trying to install to a machine that has NO x86_vc9 anything - no x86 at all. Just amd.
Anyway, I thought I was carrying what I needed in my installer, but it looks like I have the files in the wrong place relative to the exe, and do not have the bindingRedirect entries I need.
I have the MS dlls in directories under my exe directory like:
Exe Dir\Microsoft.VC90.MFC\dlls and manifest
Exe Dir\Microsoft.VC90.CRT\dlls and manifest
The dlls and manifest are for version 9.0.30729.1.
First, should the dlls and manifest just be in the exe directory instead of subdirectories?
Second, I put a dependency with dependentAssembly section containing the bindingRedirect entries in each manifest, but still no luck. Is that the place to put it? Should I just stick the bindingRedirect stuff in the application manifest?
Any help/ideas appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将支持文件恢复至 9.0.21022.8。编译/链接过程将使用为 Visual Studio 安装的任何版本。这意味着,在这种情况下,生成的二进制文件将默认使用 9.0.21022.8。如果我安装的 VS 服务包或更新需要使用较新的 dll 版本(例如控件或其他版本),那么我的二进制文件将需要该版本,并且我需要将其包含在我的支持文件中。
Revert the support files back to 9.0.21022.8. The compile/link process will use whatever version was installed for Visual Studio. That means, in this case, the binaries produced will by default use 9.0.21022.8. If I installed a VS service pack or update that required the use of a newer dll version, say for a control or whatnot, then my binaries would require that version, and I would need to carry it in my support files.