用WINDOWS MOBILE 5.0 SDK FOR POCKET PC 开发 2003的程序,大家来讨论一下,发言者皆有分!解决办法

用WINDOWS MOBILE 5.0 SDK FOR POCKET PC 开发 2003的程序,大家来讨论一下,发言者皆有分!!!
MOBILE   5.0   SDK的库函数非常丰富,但基于WM5.0   SDK开发的程序没法在PPC2003上。大家一起讨论一下办法,能让其在PPC2003上也能用?!

------解决方案--------------------
如果你是基于.NET的Managed Code开发,可以先在PPC2003上装.NET,然后再运行程序。
------解决方案--------------------
VS里面不时有吗
------解决方案--------------------
装了.NET 2005 有时要生成的DLL 要求.NET 1.1 使用,实在不想装VS2003倒有办法让VS2005新增的生成后事件命令行来帮助我们使用.NET 1.1编译当前工程 :
要求机器上安装了.Net framework 1.1,可以不装SDK
在VS2005的“项目属性”的“生成事件”里的“生成后事件命令行”里填入:
md "$(TargetDir)\DotNET1.1 " & C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\csc.exe /t:library /nologo /debug- /optimize+ /d:TRACE,DOTNET11 /out: "$(TargetDir)\DotNET1.1\$(TargetName)$(TargetExt) " /doc: "$(TargetDir)\DotNET1.1\$(TargetName).XML " /recurse: "$(ProjectDir)*.cs "
里面的.Net Framework 目录如果不是在C:\windows 自己改
然后VS2005象平时一样生成DLL,同时会在目标目录里新建一个DotNET1.1目录,在里面就是用.net 1.1的csc 编译的DLL
注意事项:
1. 参数里定义了自动搜索工程目录下所有的CS文件(如果用链接链进工程的代码自己加上),由于调试可以用.NET2.0的所以参数里定义了生成的始终是无调试符号
2. 如果是VB.NET代码,可以自己参考上面的改
3. 再有一点就是,上面的命令行定义了DOTNET11 预编译符号,在程序里可以使用比如:
#if (DOTNET11)
.NET 1.1 代码
#else
.NET 2.0 代码
#endif
来为不同的fraemwork版本写不同的代码(比如.NET1.1不支持的泛性)
4. 强签名问题,由于.net 1.1的csc不支持 /keyfile 这个参数,所以项目如果要强签名不启用掉VS2005工程属性里的“为程序集签名“而改用.NET1.1的语法,比如:
[assembly: System.Reflection.AssemblyKeyFile( "../../MyTest.snk " )]
这句跟VS2003里一样随便你放在M$规定的AssemblyInfo.cs里还是任何CS文件里