2010-10-20 58 views
1

我是.NET编程的新手,我试图为使用.NET的Windows Mobile设备创建一个简单的Windows窗体应用程序Compact Framework 2.0。我使用Boo开发并使用Nant构建我的应用程序。我的应用程序编译,但它不会运行。当我在我的设备上启动应用程序时,它声明无法找到程序集System.Windows.Forms 2.0.0.0。 Compact Framework被安装在设备上。该应用程序在桌面Windows安装上运行良好。Windows Mobile设备声明无法找到程序集System.Windows.Forms 2.0.0.0

我的源代码:

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() 

我南特构建脚本:

<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

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

相关问题