用了多年的VS2010,终于该升级了

2003年非典时,那时候我还是个20岁出头的程序员,因为公司比较小分工不细致,所以asp+access/sql server、php+mysql都要会,偶尔还要用用vb6和vc6,甚至ps和flash有时候也需要用用。那时候年轻爱研究,一晚上不睡觉,把电脑系统重装个七八回 也是常事,研究点技术,那是兴趣所在。

一天下班路过电脑城,以5块钱一张的价格,买回7张光盘装的visual studio.net 2003,折腾到半夜也没装好,可能是因为自己的电脑太破了,第二天是周末,早早的到公司,又花了大半天,总算是装好了,于是开始了研究微软C#语言和.net框架技术之旅,没想到的是这个工具就这样会伴随我20年。 

一晃20多年过去,从vs2003到2005、2008,最终停留在vs2010都10多年了,至于如今都2023年了,为什么vs2010还迟迟不升级,主要原因有二:
1、有些老程序是vc++2010的要维护,要在xp系统上做编译,vs2010以后的版本不支持xp了。
2、现在一些项目vs2010也可以正常开发,配合vss2005,在如今的电脑配置上,那是如丝般的流畅顺滑。

但如今必须要升级的主要原因是JavaScript的es6语法,在VS2010开发的WinForm程序中,如果要用WebBrowser内嵌网页,内嵌的网页如果包含了es6语法的js,没能找到可以正常解析的办法。虽然通过如下代码将ie的版本设置为非正常值,如13000,WebBrowser请求的agent信息可以显示为“edge兼容webkit”,但依然无法解析es6语法的js。

var ie_ver = 11001;
var ass_name = "程序集名";
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION", true);
if (key != null)
{
    key.SetValue(ass_name + ".exe", ie_ver, RegistryValueKind.DWord);
    key.SetValue(ass_name + ".vshost.exe", ie_ver, RegistryValueKind.DWord);//调试运行需要加上,否则不起作用
}
key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION", true);
if (key != null)
{
    key.SetValue(ass_name + ".exe", ie_ver, RegistryValueKind.DWord);
    key.SetValue(ass_name + ".vshost.exe", ie_ver, RegistryValueKind.DWord);
}

因此如果要内嵌网页,就只能放弃WebBrowser,转而使用CefSharp方式。但因为VS2010仅支持到.net 4.0,兼容.net 4.0的最高CefSharp版本是49.0.1(官方文档),而2016/6/1发布的CefSharp.WinForms 49.0.1 还不支持 2015年6月推出的JavaScript语言的新标准​ ECMAScript 6。

接下来要研究下现在VS升级到那个版本合适呢,大家有没有好的建议?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值