将 .NET 应用从 Visual Studio 迁移到 Eclipse

级别: 中级

Jimmy Liao ([email protected]), 软件工程师, IBM

2008 年 6 月 02 日

了解如何使用 Emonic Eclipse 插件开发开源 C# 应用程序以及如何在现有的 Microsoft® .NET Framework V2.0 项目中使用 Eclipse。

Eclipse 可以轻松地支持 Java™ 和其他编程语言。但是直到最近,仍然很难使用 Eclipse 构建、运行和调试 C# 项目。本文将介绍如何使用 Eclipse Mono Integration (Emonic) 和 NAnt,这些都是可用于 Eclipse 的最活跃的 C# 和 .NET 工具包。本文的目标读者是拥有 .NET 背景知识、熟悉 Eclipse 并且需要使用一种有效方法在 Eclipse 中处理 C# 和 .NET 的开发人员。

C# 和 .NET 简介
2001 年,Microsoft 发布了 C#,这是一种面向对象的编程语言并且是 .NET Framework 的一部分。C# 使用基于 C++ 的面向对象的程序语法,并且受 Java 技术、Delphi 和 Eiffel 影响。它用于实现 .NET Framework 内的一般用途。而 .NET Framework 是一个类库集合,开发人员在创建 Windows 应用程序时需要将这个类库集合与自己的代码(可能是 C# 或其他语言)相结合。

Mono 和 DotGNU 项目是实现几乎完整版本的 .NET Framework 库的开源 C# 编译器。两者都能在由 UNIX® 派生和受其影响的操作系统及 Windows 上运行。Microsoft 提供了它自己的 C# 编译器和环境,名为 “Rotor”,适用于非 Windows 操作系统。但是,许可限制不允许您把 Rotor 应用程序部署到商业环境中,这限制了 Rotor 的用途。

用 C# 构建的应用程序通常运行在 .NET Framework 中,.NET Framework 部署在 Windows® 台式机、服务器和移动操作平台中(请参阅侧栏 “C# 和 .NET 简介”)。虽然 Eclipse Platform 提供了 C Development Toolkit (CDT) 来支持 C 和 C++ 开发,但是它不能用于 C# 开发。一些 Eclipse 插件使用 .NET Framework,但是并不是所有插件都支持最新版本,撰写本文时最新版本是 V3.5。

本文将 介绍如何使用 Emonic,它是针对 Eclipse Platform 的 C# 环境,提供了丰富的功能。虽然 Emonic 开发人员提供了介绍如何安装和创建项目的文档,但是如果遵循手册,使用现有 C# 项目会十分棘手。本文将帮助您在不了解 C# 的情况下安装、构建和运行 C# 项目。我们将使用 NAnt 自动构建和运行 .NET 项目。本文还将介绍如何使用样例项目迁移现有 Visual Studio® 项目。

Emonic 和 NAnt 简介

Emonic 概览

Emonic 是允许您用 Mono 或 Microsoft .NET Framework 构建 C# 程序的 Eclipse 插件。您可以通过此插件来使用项目向导创建 C# 项目。图 1 显示了带有 Emonic 插件的 C# 项目。


图 1. 带有 Emonic 插件的示例 C# 项目


NAnt 概览

虽 然 Emonic 提供了项目向导、编辑器、自动构建器、启动程序和介绍如何使用这四种工具的教程,但是我还是因单独使用 Emonic 构建和启动应用程序吃了些苦头。这次尝试促使我搜索一种可以处理 Emonic 的易于使用的构建工具以及一些与本文有关的说明。在这里,我将介绍 NAnt 构建工具并说明如何把现有的 C# 项目导入 Eclipse 工作空间。

NAnt 是以类似于 Ant 的方式运行的免费的 .NET 构建工具。NAnt 支持 .NET Framework V1.0 至 V3.5。我们将使用最新版本 NAnt V0.86 beta 1,并说明它如何能帮助您构建和启动应用程序。





回页首


系统要求

您将需要以下软件:

  • Eclipse V3.1 或更高版本 —— 我们在这里使用了 Eclipse Europa。
  • .NET V2.0 SDK —— 这意味着您必须在 Windows 环境中工作。如 “C# 和 .NET 简介” 中所述,开放源码开发人员已经重复创建了多个 .NET Framework 体系 —— 但不是所有。由于本文的目的在于说明如何在 Eclipse 中开发 C# 应用程序而不是说明如何用 Mono、DotGNU 或 Rotor 开发 C# 应用程序,因此我们将把这些任务留给有丰富经验的读者作为练习。
  • NAnt V0.86 beta 1
  • Emonic
  • Microsoft .NET Framework V2.0 SDK 样例

有关下载,请参阅 参考资料。





回页首


安装 Emonic 插件和 NAnt

安装 Emonic 插件

安装 Emonic 有两种方法:在更新站点中更新 Eclipse 或者从 SourceForge 下载。在本例中,我们将使用更新站点。下面是操作步骤:Menu: Help > Software Update > Find and Install > Search for new features to install。单击 New Remote site 并输入 http://emonic.sourceforge.net/updatesite/internap/site.xml

安装 Emonic 插件并重新启动 Eclipse 之后,您可以使用项目向导创建空白 C# 项目。图 2 显示了用于在 Eclipse 中创建 C# 项目的向导。


图 2. Eclipse 中的 .NET 项目创建向导


下载和安装 NAnt

NAnt V0.86 beta1 是最新版本。从 SourceForge 下载并解压缩它,然后把它安装到任意位置或者把 NAnt 目录设为路径变量。





回页首


导入 .NET 样例项目

从 MSDN 中下载并解压缩 Microsoft .NET Framework V2.0 SDK 样例。样例包括许多样例项目(Visual Basic、C# 等)。在本文中,我们将使用位于 Technologies/Networking/WebClientSample/CS 的 WebClientSample。

项目结构

图 3 在浏览器视图中显示了 C# 项目结构。


图 3. C# 项目结构


从 C# 项目中导入

要把 C# 项目导入 Eclipse,需要执行以下操作:

  1. 用项目向导创建一个空白 .NET 项目并把它命名为 WebClientSample。在 .NET 项目创建向导中,选择 Microsoft-2.0 作为目标框架,然后完成向导。
  2. 右键单击项目,选择 Import 并使用 File System,选择 WebClientSample 目录,然后按 Finish
  3. build.xml 是默认的构建配置文件。清单 1 显示了作为已创建项目的默认文件。

清单 1. 默认的 build.xml 文件
                
<?xml version='1.0'?>
<project basedir='.' default='all' name='WebClientSample2'>
<property name='nant.settings.currentframework' value='net-2.0'/>
<property name='build' value='bin'/>
<property name='src' value='src'/>
<target name='all'/>
</project>

  1. 我们需要指定目标输出文件、源代码目录、资源和引用库。清单 2 显示了示例 build.xml。

清单 2. WebClientSample 的 build.xml 文件
                
<?xml version='1.0'?>
<project basedir='.' default='all' name='WebClientSample'>
<property name='nant.settings.currentframework' value='net-2.0'/>
<property name='build' value='bin'/>
<property name='src' value='src'/>
<target depends='WebClientSample' name='all'/>
<target name='WebClientSample'>
<csc debug='true' optimize='true' output='${build}/WebClientSample.exe' target='exe'
warninglevel='4'>
<sources>
<include name='**/*.cs'/>
</sources>
<resources dynamicprefix="true">
<include name='**/*.resx'/>
<include name='${src}/Resources/*.bmp'/>
</resources>
<references>
<include name='System.dll'/>
<include name='System.Data.dll'/>
<include name='System.XML.dll'/>
</references>
</csc>
</target>
</project>

从 .NET SDK 样例项目中导入 WebClientSample 之后,图 4 使用 Package 视图显示了 C# 项目结构。


图 4. 带有 Package 视图的 C# 项目
将 .NET 应用从 Visual Studio 迁移到 Eclipse_第1张图片





回页首


构建、运行和调试

需 要创建两个外部程序:Build_WebClientSample 和 Run_WebClientSample。图 5 显示了 Build_WebClientSample。记住要在位置中选择 NAnt.exe 路径。图 6 显示了带有 NAnt 外部工具的控制台。


图 5. Build_WebClientSample



图 6. Build_WebClientSample 控制台


要运行此样例,请右键单击 build.xml,单击 Run As > Open External Tools Dialog 并创建 Run_WebClientSample。在参数中输入 Web 站点 URL,例如 www.google.com。图 7 显示了 Run_WebClientSample,而图 8 显示了 Run_WebClientSample 的交互式控制台。


图 7. Run_WebClientSample
将 .NET 应用从 Visual Studio 迁移到 Eclipse_第2张图片


图 8. Run_WebClientSample 控制台
将 .NET 应用从 Visual Studio 迁移到 Eclipse_第3张图片





回页首


结束语

您现在已经了解了 Emonic 和 NAnt 的基本知识、这两个工具如何帮助您在 Eclipse 中构建 .NET 应用程序,以及如何把现有的 C# 项目迁移到 Eclipse 中。



参考资料

学习
  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文。

  • 阅读 Improve C# Plug-in for Eclipse 了解适用于 Eclipse 的另一个 C# 插件。

  • 阅读 developerWorks 文章 “使用 Eclipse C/C++ Development Toolkit 开发应用程序” 了解如何使用 Standard Template Library 和 CDT 创建 C++ 应用程序。

  • 查阅 “Eclipse 推荐读物列表”。

  • 浏览 developerWorks 上的全部 Eclipse 内容。

  • 您是 Eclipse 新用户?阅读 developerWorks 文章 “Eclipse 平台入门” 以了解它的起源和架构,以及如何用插件扩展 Eclipse。

  • 查阅 IBM developerWorks 的 Eclipse 项目资源 扩展 Eclipse 技巧。

  • 收听针对软件开发人员的有趣访谈和讨论,一定要访问 developerWorks podcast。

  • 随时关注 developerWorks 的 技术事件和网络广播。

  • 查看免费的 developerWorks On demand demo 观看并了解 IBM 及开源技术和产品功能。

  • 查阅最近将在全球举办的面向 IBM 开放源码开发人员的研讨会、交易展览、网络广播和其他 活动。

  • 访问 developerWorks 开放源码专区,获得丰富的 how-to 信息、工具和项目更新,帮助您用开放源码技术进行开发,并与 IBM 产品结合使用。


获得产品和技术
  • 从 MSDN .NET Framework 站点 的 .NET Framework Downloads 部分下载 .NET Framework 2.0 Software Development Kit (SDK) (x86)。

  • 下载 Emonic 插件的最新版本,它是一个允许您使用 Mono 或 Microsoft .NET 构建 C# 程序的 Eclipse 插件。

  • 下载最新版本的 NAnt,它是一个免费的 .NET 构建工具。

  • 在 IBM alphaWorks 中查阅最新的 Eclipse 技术下载。

  • 从 Eclipse Foundation 下载 Eclipse Platform 和其他项目。

  • 下载 IBM 产品评估版,并开始使用 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的应用程序开发工具和中间件产品。

  • 使用 IBM 试用软件 改进您的下一个开发项目,这些软件可以通过下载或从 DVD 中获得。

讨论
  • Eclipse Platform 新闻组 应当是讨论关于 Eclipse 的问题的第一站(选择此链接将启动默认的 Usenet 新闻阅读器应用程序并打开 eclipse.platform)。

  • Eclipse 新闻组 中有很多参考资料适用于对使用和扩展 Eclipse 感兴趣的人员。

  • 参与 developerWorks blog 并加入 developerWorks 社区。



关于作者

 

Jimmy Liao 是台北 Mobility Collaboration Development and Test 团队的软件工程师。他以前在 Java 嵌入式开发和测试领域工作过,并且拥有嵌入式系统开发经验。

你可能感兴趣的:(eclipse,.net,IBM,Microsoft,C#,include)