动态编译理论上能解决你的问题
我想,要解决你这个问题,首先需要解决如何感知当前的 .Net版本 .Net2和 .Net 3.5 都提供有相应的方法(如果没有 可以提示安装),但.Net就没有提供了(至少我不知道)
提这个问题的人是不是不知道.net 4.0各种版本其实只有一个最新版dll。 高版本向下兼容。 如果一定要指定版本,自己检测注册表的.net 4.x release版本号就行了,微软网站有说明。
两个选择: 1、要么将.net 2.0 dll重新编译, 到4.5架框平台上。如果有源码的话 2、将自身程序框架将到2.0开发。 而且常理来说,4.5是向下兼容开发的,也就是用2.0 - 4.0 DllLibrary完全支持。 难道你想说,我想编译出两个框架版本 2.0 和4.5?在这不同的环境下用不同的版本,是这意思?
你这个逻辑我感觉是错的。 如果本身就是一个程序,那启动的时候,是分两套逻辑运行。 那就有个前提,每一套逻辑的运行条件是什么,如何判断是运行哪套逻辑。 而不是硬生生把它,撕成2个程序的概念。
我的程序是加载另一个.net程序和它相关的dll,然后打包重新编译成一个单独的exe,为了最大程度的保留目标程序的特性,我必须已目标程序相同的环境来编译它,例如 我的程序是.net2.0,目标程序是.net4.5,我程序需要用4.5运行来重新编译它才能保证目标程序和新程序的运行时一样
[quote=引用 6 楼 泡泡龙 的回复:]提这个问题的人是不是不知道.net 4.0各种版本其实只有一个最新版dll。 高版本向下兼容。 如果一定要指定版本,自己检测注册表的.net 4.x release版本号就行了,微软网站有说明。
.net实际上高版本向下兼容低版本
110,536
社区成员
642,578
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧