在.net 4安装的XP系统上部署时,使用VS2008在.net 3.5中内置的DLL会引发异常

时间:2012-07-04 11:57:09

标签: c# .net c#-4.0 .net-3.5

我的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,因为我将它构建为类库。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

你必须在运行时设置该标志(我想你有某种激活码),请查看这篇文章:http://reedcopsey.com/2011/09/15/setting-uselegacyv2runtimeactivationpolicy-at-runtime/

它完美地工作了很多次。

答案 1 :(得分:1)

使用库为每个单个可执行文件添加配置.exe.config

如果COM服务是dllhost.exe.config,虽然这是安全方面的丑陋,如果你确认这是你的情况,还值得额外考虑替代方案。