对 Microsoft dll 版本进行绑定重定向的最佳方法?

发布于 2024-11-02 08:58:10 字数 530 浏览 7 评论 0原文

我以为我理解这个垃圾......

我有一个编译为使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一张白纸 2024-11-09 08:58:10

将支持文件恢复至 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文