我的dll建立在VS2008上,目标框架为3.5。主要应用程序是使用C ++并使用C ++ / CLI与.net dll进行通信。 当应用程序部署在仅安装.net 4的XP系统上时,会发生两个程序集丢失的异常。
System.Core版本3.5.0.0和System.Web.Extensions 3.5.0.0
阅读后,解决方案称为添加
<supportedRuntime version="v4.0" />
到强制使用框架4的配置。我没有配置文件将supportedRuntime设置为4,因为我将它构建为类库。
任何帮助将不胜感激。
答案 0 :(得分:1)
你必须在运行时设置该标志(我想你有某种激活码),请查看这篇文章:http://reedcopsey.com/2011/09/15/setting-uselegacyv2runtimeactivationpolicy-at-runtime/。
它完美地工作了很多次。
答案 1 :(得分:1)
使用库为每个单个可执行文件添加配置.exe.config
。
如果COM服务是dllhost.exe.config
,虽然这是安全方面的丑陋,如果你确认这是你的情况,还值得额外考虑替代方案。