我想在我的.Net4.0中加载一个.NET 2.0 dll dll。我没有搜索解决方案,并发现'useLegacyV2RuntimeActivationPolicy'属性,我可以添加到我的app.config在这个url:Mixed mode assembly is built against version 'v1.1.4322'在.net 4.0 dll中访问.net2.0 dll
但对我来说问题是,在我的情况下,我试图使用.net2.0 dll在我的4.0 DLL而不是在4.0 exe。原因是这4.0 DLL然后在Excel中用作自动化加载项。
目前,当我从Excel中获得我的.NET 4.0 API(它加载了一个功能的2.0 DLL),我得到'混合模式2.0 DLL无法在4.0运行时加载'这是可以理解的,因为COM加载了4.0 CLR,因此无法加载2.0 DLL。
不知怎的,我需要使我的4.0 DLL加载2.0运行时。我试图添加一个app.config到4.0 dll,但我想只有.exe读取app.config默认加载clr。 这是我在我的app.config在4.0 dll的项目中没有用的。
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<runtime>
<NetFx40_LegacySecurityPolicy enabled="true"/>
</runtime>
</configuration>
我该如何解决这个问题,使我.NET 4.0 DLL使用.NET 2.0的dll?
感谢, 玛尼
您是否尝试过像添加普通的dll一样添加.net 2 dll? – Jethro
听起来这不是一个.NET 2.0 DLL--它是一个.NET 1.1 DLL。 –
.config文件很好,但它需要是excel.exe.config并复制到excel所在的Office目录。 –