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では使用できない機能を使用します。ただし、これは私が得たエラーを説明するものではありませんが、.NET CF 2.0を「現在のフレームワーク」に指定した場合でも、NantはBooコンパイラが完全な.NETFrameworkのアセンブリを使用できるようにすることをお勧めします。問題なのは、「現在のフレームワーク」でナントが何を意味するのかを理解していることでしょう。

于 2010-10-22T08:41:03.543 に答える