如何编译MFDeploy
//=====================================================================
//TITLE:
// 如何编译MFDeploy
//AUTHOR:
// norains
//DATE:
// Thursday 6-January-2011
//Environment:
// Visual Studio 2010
// .Net Micro Framework Porting 4.1
//=====================================================================
MFDeploy对于.NMF来说,是一个很重要的工具。更为难能可贵的是,该工具微软还是完全开放源代码的,其工程就位列于.NMF的安装目录的$(SPOCLIENT)/Framework/Tools/MFDeploy之下。不过微软只是提供了源代码,并没有提供编译好的MFDeploy.exe文件,所以还需要我们手动编译。
打开该目录,发现一个MFDeploy.sln工程文件,是不是直接点击打开就能编译了呢?我们可以尝试双击看看,很遗憾,报错,如图:
查看相应的文档,得知如果要编译MFDeploy的话,需要在命令行中进行。接下来的步骤就比较简单了,其过程和我们编译NativeSample一致:
1. 在“运行”中输入“CMD”,打开命令行。
2. 在命令行中借助“CD”命令进入到我们.NMF的安装根目录。
3. 调用相应的批处理文件来进行编译环境的设置,比如在我的机器上,就是直接输入:“setenv_MDK3.80a.cmd D:/ProgramFiles/Keil/ARM”。
4. 一切准备就绪之后,就要输入“MSBUILD.EXE build.dirproj”来进行编译。
经过一阵秋风扫落叶般的漫长的等待之后,如果一切顺利,那么在$(SPOCLIENT)/BuildOutput/public/debug/Server/dll目录之下就能见到可爱的MFDeploy身影了,如图:
如果你将MFDeploy.exe拷贝到没有安装.NMF的机器上运行,点击时会出现如下错误,如图:
如果你下载了.Net Framework V4.0,并且安装完毕之后,点击的时候,还是会出错,如图:
如何在没有安装.NMF的机器上运行MFDeploy.exe,暂时还不清楚,如果各位朋友知道相应的解决方式的话,麻烦告诉我,谢谢!
现在又有另外一个问题了,微软既然已经提供了源代码,那么如果我们更改了之后,是不是还要依样画葫芦呢?如果是,估计就很痛苦了,因为我想没多少人可以忍受变更一次代码,需要编译半个小时的痛苦。其实,这时候我就可以利用本文之前的MFDeploy.sln工程了。只不过,运行这个工程还是有一定的技巧的,如果你直接双击,那么还会出现和之前一样的错误。那么我们应该怎么办呢?很简单,如果刚刚编译好build.dirproj的工程的命令行窗口没关闭的话,我们直接在命令行进入到$(SPOCLIENT)/Framework/Tools/MFDeploy目录,直接输入MFDeploy.sln即可。如果关闭了也没关系,只要按照本文之前编译build.dirproj的方法,只执行前三个步骤,设置编译环境之后也能够正常打开,如图: