VS 2003使用第三方程序启动不能Debug的解决方法
也许大家都曾遇到过这种情况,在Visual Studio 2003中,假如我们创建好了一个dll程序,想要使用另外一个程序来启动并进行调试,却无法启动。
先来看看原因。大家都知道,装了2003就会装上.NetFrameWork 1.1,但如果你同时装了.NetFrameWork 1.1和2.0,问题就来了。从MSDN得知,在同一台机器上装两个版本的Framwork,可能会有冲突,这也是Microsoft没有很好解决他们之间的兼容性所导致的。如果你的程序是在.NetFramework1.1环境下创建的,当你装了.NetFramework2.0后,再使用第三方程序启动进行调试时,你的程序就会自动加载机器上最新的.NetFramework运行环境,也就是2.0的环境,这就会出问题。网上也有过许多解决方法,我还是总结了一个比较奏效的方法。
在第三方程序所在目录,建一个config文件,注意文件名为第三方程序名,比如你的dll程序要使用Notepad.exe来启动进行调试,那么这个config文件的全名就应该是Notepad.exe.config,并且一定要放在Notepad.exe所在的目录下。该文件的内容为:
<?xml version ="1.0"?>
<configuration>
<startup>
<requiredRuntime version="v1.1.4322"/>
</startup>
</configuration>
这样,当你再进行调试的时候,就一切Ok了。
先来看看原因。大家都知道,装了2003就会装上.NetFrameWork 1.1,但如果你同时装了.NetFrameWork 1.1和2.0,问题就来了。从MSDN得知,在同一台机器上装两个版本的Framwork,可能会有冲突,这也是Microsoft没有很好解决他们之间的兼容性所导致的。如果你的程序是在.NetFramework1.1环境下创建的,当你装了.NetFramework2.0后,再使用第三方程序启动进行调试时,你的程序就会自动加载机器上最新的.NetFramework运行环境,也就是2.0的环境,这就会出问题。网上也有过许多解决方法,我还是总结了一个比较奏效的方法。
在第三方程序所在目录,建一个config文件,注意文件名为第三方程序名,比如你的dll程序要使用Notepad.exe来启动进行调试,那么这个config文件的全名就应该是Notepad.exe.config,并且一定要放在Notepad.exe所在的目录下。该文件的内容为:
<?xml version ="1.0"?>
<configuration>
<startup>
<requiredRuntime version="v1.1.4322"/>
</startup>
</configuration>
这样,当你再进行调试的时候,就一切Ok了。