[Codeproject每日一荐] VS.NET IDE Bugs & Workarounds
今天逛到Codeproject 上的栏目Bugs & Workarounds ,看到一些dev们为之"急中生痔"的bug,同情:( 和急中生智的workaround,佩服:)
虽然自己大多没有遇到过,也简要介绍,repro,然后点评一下方便同仁参考.这篇是关于VS.NET IDE方面的.
1. IntelliSense Bug In VS.NET By Tom Welch
VS.NET 2002? 代码Point arrayPoints[] = {Point(2,3), Point(5,7), Point(10,5)};会导致IDE中代码智能感知失效,现在这个应该过时了吧.编译不会通过的.在我的经历中,智能感知只有在前面的代码有语法错误的时候才会失效,所以发现智能感知失效,就回头去检查代码已经成了我的习惯之一:)有人推荐Visual Assist for VS.NET,没有用过.
2. Watch Out for this Web Form Designer issue By Senkwe Chanda
VS.NET 2003, web和windows app都有的一个问题:在Designer生成的窗体类前面加些代码,会让Designer无法正确识别然后显示UI,这个我倒是遇到过不少次,因为IDE的错误信息已经提示说要求该类是第一个类,每次乖乖地把自己加的代码挪到后面或者其他地方就好了,不象这位作者一样略显固执:编译得过为什么Designer无法正确识别,大家(特别是dev)对微软的期望都是很高的:) 不过经我实验在VS2005里面已经没有这个问题了.
3. Visual Studio.NET Blank Property Browser Bug By Akash Kava
VS.NET 2003, 在加入一些安装文件后工程的属性框里不显示东西了,没遇到过,作者说删掉C:\Documents and Settings\USER\Application Data\Microsoft\VisualStudio\7.1 就好了,还提供了个小插件在VS.NET每次退出的时候自动删除该文件夹.
4. Remedy for fatal error C1190 By Sylvester, Asil Gerard
VS.NET 2003, 在托管和非托管代码交互时出现致命错误C1190,没遇到过(也不想遇到:).解决方法:把<projectname>.vcproj中的BasicRuntimeChecks值设为"0"
5. dbgfix: An add-in to properly launch IE during ASP.NET debugging when running VS7 under alternate credentials By Rama Krishna Vavilala
VS.NET 2003, 这个酷了,用了一个鼎鼎有名的东东Detour来劫持API调用来改正一个API调用的参数,以修正以非admin用户调试ASP.NET程序时IE启动但无法显示的问题.具体的说,就是CreateProcess的最后一个参数 STARTUPINFO
.应该传入NULL来保证新进程的IE窗口和原来进程属于同一个窗口站winsta0 ,但VS.NET 2003实际传入的是空字符串,这样新进程的IE窗口不属于winsta0 ,用户也就看不到. cool! 又一次证明Detour确实能让我们比较方便地做一些很酷的事情.赞!