我是.NET编程的新手,我正在尝试使用.NET Compact Framework 2.0为Windows Mobile设备创建一个简单的Windows窗体应用程序。我使用Boo开发并使用Nant构建我的应用程序。我的应用程序编译但它不会运行。当我在我的设备上启动应用程序时,它指出无法找到程序集System.Windows.Forms 2.0.0.0。但是,Compact Framework安装在设备上。该应用程序在桌面Windows安装上运行良好。
我的源代码:
import System.Drawing
import System.Windows.Forms
def Main():
button = Button(Text: "Ok", Location: Point(10, 10))
form = Form(Text: "Sample", FormBorderStyle: FormBorderStyle.FixedDialog, MaximizeBox: false, MinimizeBox: false, AcceptButton: button, StartPosition: FormStartPosition.CenterScreen)
form.ShowDialog()
我的Nant构建脚本:
<project name="Sample" default="compile">
<property name="dir.build" value="./build"/>
<property name="nant.settings.currentframework" value="netcf-2.0"/>
<target name="clean">
<delete dir="${dir.build}" failonerror="false"/>
</target>
<target name="compile">
<mkdir dir="${dir.build}"/>
<booc target="exe" output="${dir.build}/Sample.exe">
<sources basedir="./source">
<include name="**/*.boo"/>
</sources>
</booc>
</target>
</project>
是否有一些简单的错误,或者我误解了有关汇编参考的内容?正如我所说的,我对.NET开发很陌生,并且不知道汇编引用是如何工作的。
答案 0 :(得分:0)
原来Boo不支持紧凑框架。 Boo.Lang.dll程序集使用CF中不可用的功能。然而,这并没有解释我得到的错误,但我最好的猜测是,Nant允许Boo编译器使用完整.NET框架中的程序集,即使我已经指定.NET CF 2.0应该是“当前框架”。可能我理解Nant对“当前框架”的意义是什么。