Windows Mobile设备声明无法找到程序集System.Windows.Forms 2.0.0.0

时间:2010-10-20 19:33:59

标签: .net nant boo

我是.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开发很陌生,并且不知道汇编引用是如何工作的。

1 个答案:

答案 0 :(得分:0)

原来Boo不支持紧凑框架。 Boo.Lang.dll程序集使用CF中不可用的功能。然而,这并没有解释我得到的错误,但我最好的猜测是,Nant允许Boo编译器使用完整.NET框架中的程序集,即使我已经指定.NET CF 2.0应该是“当前框架”。可能我理解Nant对“当前框架”的意义是什么。