设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 服务器 > 系统 > 正文

windows – 每个应用程序配置文件bindingRedirect不适用于Dll

发布时间:2021-02-20 20:29 所属栏目:52 来源:网络整理
导读:我创建了一个简单的Win32应用程序,通过在ver 6 commctl32.dll上包含一个清单依赖项来演示XP上的UXtheme 然后我创建了一个简单的Win32 DLL,使用ISOLATION_AWARE_ENABLED构建它,并使用嵌入式清单测试它,同时指定Comctl32.dll的版本5和版本6 我成功地使用此方法

我创建了一个简单的Win32应用程序,通过在ver 6 commctl32.dll上包含一个清单依赖项来演示XP上的UXtheme
然后我创建了一个简单的Win32 DLL,使用ISOLATION_AWARE_ENABLED构建它,并使用嵌入式清单测试它,同时指定Comctl32.dll的版本5和版本6

我成功地使用此方法获得了exe和dll以使用不同版本的comctl32.dll.两者都使用exe使用5和dll版本6,反之亦然.

然后,我重置应用程序和dll以具有comctl ver 5清单依赖项.并介绍了一个应用配置文件:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
  <windows>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" processorArchitecture="amd64" publicKeyToken="6595b64144ccf1df"/>
        <bindingRedirect oldVersion="5.82.7100.0" newVersion="6.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </windows>
</configuration>

现在,当我运行我的应用程序时,应用程序显然被重定向到commctl v6 – 使用启用的XP UXTheme可以清楚地显示对话框.
但是,dll没有被重定向,并且正在使用commctl的非主题ver 5.

在文档中没有提到用于执行bindingRedirects的per-dll配置文件.并试图创建一个没有做任何事情.

我也知道从一个主要版本的程序集到另一个程序集执行bindingRedirect不是受支持的方案,但我真的只是使用commctl32作为测试机制的一种明显简单的方法.

如何重定向DLL的从属程序集的版本?

解决方法

And Windows Vista won’t even access .manifest or .config files that
are added later as it caches their existence along with a date-time
stamp for the exe.

我发现注销/启动似乎清除了触发配置文件再次被读取.

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读