1

我是 .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 开发还比较陌生,并不确切知道程序集引用是如何工作的。

4

1 回答 1

0

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

于 2010-10-22T08:41:03.543 回答