.NET 4.0 环境下无法直接运行 .NET 2.0 程序的问题,当然目前解决了 (转载--来于园中)...

由于 .NET 4.0 使用新版本的 CLR,变化也不少,

例如:

mscoree.dll 变为 mscoree.dll 和 mscoreei.dll,

mscorwks.dll 变为 clr.dll,

mscorjit.dll 变为 clrjit.dll。

这导致在没有安装 .NET 2.0 的情况下,.NET 2.0 程序默认无法在 .NET 4.0 环境下运行(未安装 .NET 2.0/3.0/3.5)。(纠正:不是文件名的变化导致无法运行,而是微软的新策略是强烈建议程序在开发时使用的运行时版本下运行,这样可以保证最大的兼容性

那么怎么办呢?

Visual Studio 2010 对项目可以设置“目标框架”,在没有安装 .NET 3.5 的情况下可以选择 .NET Framework 4、.NET Framework 4 Client Profile,在改变选择之后,会生成一个配置文件,内容如下:

 

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

把这个文件名改成你需要运行的程序的配置名,同时把程序与配置文件放到一起,这个时候就可以打开 .NET 2.0 的程序了。

 

以上只是我当时想出此方法的思路,当然你没有必要这样做。

你只要搞一个配置文件或者将以上配置文件内容添加到已有的配置文件中。

 

supportedRuntime version="v4.0" 强制当前程序在 CLR 4.0 环境下运行,当然你可以设置 1.0、1.1、2.0,前提是运行环境内有对于版本的运行时。(第二次纠正:如果强制在 CLR 2.0 下运行,必须设置 supportedRuntime version="v2.0.50727",如果设置 v2.0 无效。)

 

顺便说明目前的运行时版本只有 1.0、1.1、2.0、4.0,没有3.0、3.5。

 

实际上仅对 Windows XP 需要这样做,因为 XP 默认情况下没有安装任何 .NET 版本,Windows Vista/7 默认情况下分别安装了 .NET 3.0、.NET 3.5,具有 CLR 2.0。

以上做法可能会有兼容性问题,大型复杂程序不推荐这样做。小工具或者自行编写的程序(例如我)可以这样做,出了问题自行解决。这样在 XP 下,就不用安装 N 个 .NET 版本

本文没有说明的内容,可以自行摸索。

 

临时签名,有效期
new  TimeSpan( 123 , 456 , 789 )

 

转载于:https://www.cnblogs.com/worksguo/archive/2010/02/10/1666939.html

好的,以下是一个简单的 Java 程序,可以实现你的需求: ```java import java.awt.Color; import java.awt.Graphics; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JPanel; public class CircleColorChange extends JPanel { private Color color = Color.white; public CircleColorChange() { addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { color = Color.blue; repaint(); } public void mouseReleased(MouseEvent e) { color = Color.red; repaint(); } }); } public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(color); g.fillOval(50, 50, 100, 100); } public static void main(String[] args) { JFrame frame = new JFrame("Circle Color Change"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(200, 200); frame.getContentPane().add(new CircleColorChange()); frame.setVisible(true); } } ``` 程序中创建了一个 `CircleColorChange` 类,它继承了 `JPanel` 类,用来显示一个圆形。在构造函数中添加了鼠标事件监听器,当鼠标按下时将圆形颜色设为蓝色,当鼠标释放时将圆形颜色设为红色,并重新绘制界面。 在 `paintComponent` 方法中,设置当前颜色并绘制圆形。最后在 `main` 方法中创建了一个 `JFrame` 窗口,并将 `CircleColorChange` 对象添加到该窗口中显示。 你可以将这段代码保存为 `.java` 文件,然后编译运行它,即可在窗口中看到一个白色的圆形。当你按下鼠标时,圆形会变为蓝色,释放鼠标后会变为红色。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值