具有间接依赖关系,而该程序集的版本为“4.0.0.0”,高于当前目标框架中的版本“2.0.0.0”

问题遇到的现象和发生背景

我新建了一个“目标框架”为3.5的.net项目
在项目里引用了一些第三方的dll(这些dll必须用到),这些dll依赖的程序集中的dll版本过低,为2.0.0.0或者3.0.0.0,但是当前程序集的dll版本为4.0.0.0,所以生成的时候总是报错。

运行结果及报错内容

例如,

未能解析主引用“Bentley.microstation.winforms.controls”,因为它对 .NET Framework 程序集“Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b011d50a3a”具有间接依赖关系,而该程序集的版本为“4.0.0.0”,高于当前目标框架中的版本“2.0.0.0”。

未能解析主引用“Bentley.MicroStation.XmlInstanceapi”,因为它对 .NET Framework 程序集“Microsoft.Transactions.Bridge, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b031d50a3a”具有间接依赖关系,而该程序集的版本为“4.0.0.0”,高于当前目标框架中的版本“3.0.0.0”。

我的解答思路和尝试过的方法

我试过提高项目的“目标框架”,这样又会导致第三方dll无法使用,报错。
例如,

无法嵌入互操作类型“DataBlockClass”。请改用适用的接口。

也试过添加app.config来修改指引,也不行。

</><?xml version="1.0" encoding="utf-8"?>
<configuration>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="Accessibility" publicKeyToken="b03f11d50a3a" culture="neutral"/>
                <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="2.0.0.0"/>
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>
> 
</>

我想要达到的结果

这样问题只出现在台式机上,同样的项目在笔记本上没有出现。(我怀疑是台式机上装了某个其他的软件,纂改了程序集,但找不到篡改了哪里)。
请问,怎么让程序集的间接依赖关系正常?

<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="2.0.0.0"/>

重定向到高版本也不行吗