Category: 日常开发工作

  • Could not load file or assembly TraceWrapper

    最近在做一个基于SCVMM的Portal,搭环境的时候遇到一个挺诡异的事情。在我的Windows Server 2008 R2的开发机器上,如果用正常的方式启动portal,一切正常,但是如果通过VS2010 F5 debug模式起Portal的话,总是得到下面错误。 Could not load file or assembly ‘TraceWrapper, Version=1.0.523.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35′ or one of its dependencies. An attempt was made to load a program with an incorrect format. 咨询了一下Oliver同学,An attempt was made to load a program with an incorrect format的错误一般出现于64位的系统上加载32位文件,或者32位系统加载64位文件。这个问题只出现于Native dll,因为DotNet的managed dll是平台无关的。个么问题来了,我的机器是64位OS,加载的TraceWrapper.dll也是64位的,怎么还报错呢?原来事情是这样的,VS2010是个32位程序,从而由它起来的所有进程都是32位的,有图为证。在这种情况下,所有的进程都运行于32位模式,或者说WOW64模式,在这种模式下去读取64位TraceWrapper.dll就自然出现上述错误了。 所以解决方法是,把引用TraceWrapper.dll的project,根据你运行的环境,用对应的CPU选项编译。

  • SQL Server的版本号们

    为什么要收集一个这样的列表呢?当你需要在代码里判断本地的SQL是否打过某个SP的时候,你就会发现这个列表的用处了。要查询SQL Server的版本号,只要运行一下这个SQL查询 SELECT @@Version 就可以了。

  • 在VS的Solution Explorer中高亮当前编辑的文件

    当项目的代码变大变臃肿的时候,VS里右边的Solution Explorer里的源代码文件总是长长的一串,和IM上的好友差不多了。如果你同时在多个源代码文件里工作并且经常切换,你也许会像我一样抱怨,这个该死的Solution Explorer总是不会自动高亮当前工作的文件。 今天意外发现,VS2010是支持这个功能的,在Tools->Options->Projects and Solutions->General 下只要把”Track Active Item In Solution Explorer”选上就行。

  • Windows 8安装DotNet Framework

    Windows 8的系统里自带了三个版本的DotNet Framework: 2.0,3.5以及4.5。在全新安装的windows 8里,DotNet 4.5是默认启用的,而DotNet 2.0和3.5则做为操作系统的一部分,默认不启用,需要手工的安装。 如果你打开“启用或关闭Windows功能”对话框,你就会发现.NET Framework 3.5 (包括.NET 2.0和3.0)默认并没有安装。

  • Notepad++关联文件扩展名

    Notepad++是个轻量级的写代码和脚本的文本编辑器。如果你经常使用Notepad++,你会发现Notepad++能识别很多文件类型,并且提供了很好的代码高亮的支持。但是,你可能也会发现有一些你常用的文件类型是Notepad++不支持的,如果要让Notepad++能高亮它不支持的文件,就需要关联扩展名。

  • Reflector的免费替代品

    DotNet社区中最好用的反编译工具,Reflector,最终还是走上了商业化的道路。5月初,Red-Gate公司发布了一个带有time bomb的Reflector新版本,强制用户升级到v7,马上在开发社区引起了极大抗议。后来为平民愤,在http://www.red-gate.com/messageboard/viewtopic.php?t=13307这个帖子里,Red-Gate公司澄清v6将继续免费,并且不会强制用户升级到v7付费版,但是v6将会是免费的最后一个版本,之后不会再为v6增加新功能或者修复bug。 如果你和我一样对Red-Gate极度不满的话,可以考虑下面的Reflector的免费替代品。 ILSpy,下载地址 http://wiki.sharpdevelop.net/ilspy.ashx由SharpDevelop的开发团队出品,是个开源产品。 JustDecompile,下载地址 http://www.telerik.com/products/decompiling.aspx由Telerik 公司出品,该公司的DotNet UI控件非常有名。目前JustDecompile只有测试版本。V1正式版将会在夏天发布。

  • 双显示器下的截屏

    双LCD现在基本成为IT公司的标配了,话说前年在Greg的office里,看到他桌子上摆了个显示器,还膜拜不已。在单显示器的时代,按下PrintScreen键就能截屏了,但是双显示器模式下,PrintScreen会把两个屏幕都截下来。有没有办法让PrintScreen之在当前工作的显示器下截图呢? 答案十分简单,Alt + PrintScreen,注意,截的是鼠标或键盘的焦点所在的显示器的屏幕。 如果你有用OneNote的话,这个问题就更简单了,WinKey + S.