分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

在 .NET Framework 4.0 的程序中使用 .NET Framework 2.0 的程序集

发布时间:2023-09-06 01:26责任编辑:郭大石关键词:.NET

场景

在 目标框架 为 .NET Framework 4 的程序中,引用 目标框架 为 .NET Framework 2.0 的程序集,并使用 .NET Framework 2.0 程序集中的类型或者静态方法。

问题

一般情况下,会报出如下错误

未经处理的异常: System.IO.FileLoadException: 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。

解决

文档参考

在 .NET Framework 的文档 中 配置文件架构 这一节对上述问题有解决方法。详见 <startup> 元素 中关于 useLegacyV2RuntimeActivationPolicy 特性的描述。

简单来说

当你需要且不得不在 目标框架 为 .NET Framework 4 的程序中,引用 目标框架 为 .NET Framework 2.0 的程序集,那么你应该修改程序配置文件。

一般来说,程序配置文件在项目根目录中,名为 “app.config” 。 默认内容如下:

<?xml version="1.0"?><configuration> ?<startup> ???<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> ?</startup></configuration>

如果你项目中没有的话,可以手动添加,并在 “csproj” 文件中添加一条:

<ItemGroup> ?<None Include="app.config" /></ItemGroup>

根据 <startup> 元素 中的说法,你需要将“app.config”配置文件修改为:

<?xml version="1.0"?><configuration> ?<startup useLegacyV2RuntimeActivationPolicy="true"> ???<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> ?</startup></configuration>

即可在程序中引用目标框架 为 .NET Framework 2.0 的程序集。

发布事项

当程序 Release 之后,在 Release 文件夹中会同时生成 “xxx.exe.config” 文件,此文件就是程序的配置文件。假如你没有使用默认配置,那么在发布时,此文件应随可执行程序一同发布,且保持在同一文件夹中。否则,程序将会使用默认配置。

其他

关于程序的配置文件,更多详细内容可以参阅 .NET Framework 的配置文件架构 。

在 .NET Framework 4.0 的程序中使用 .NET Framework 2.0 的程序集

原文地址:https://www.cnblogs.com/chr-wonder/p/8527602.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved