本章简言

上一章我们了解一下开发环境,知道了什么去新建一个项目工程。却并没有去项目工程进行介绍。可是之后我们会常常跟项目工程打交道。所以这章笔者就对项程工程的常用的一些功能进行讲解。当然说全面那是不可能。只是笔者认为常用的而以。

项目开发环境

新建项目我们都了解了。那么还是有一点我们可能不知道。那就是新建项目之后。项目显示结构问题。以上一章的“HelloExample”为例子。我们看一下他的项目结构是什么样子。

项目结构信息如下

1.解决方案“HelloExample”(1个项目):上一章讲解的“解决方案”。

2.HelloExample:项目工程

3.Properties:对应上一章的讲的Properties目录。

4.引用:相当于Eclipse的Build Path功能。即是引用JAR包(笔者用是英文版本)。如果你点开他的话,你们发现很多引用的DLL。DLL包是以.dll结尾的文件。JAR包是以.jar结尾。

5.Program.cs:源码文件

关于引用的做法还真是跟Eclipse是天差啊。为了能够学习一下引用功能。笔者就不得不在新建一个类库。类库相当于没有Main入口类的java project项目一样子。即是相当于新建一个jar包项目的意思。相信新建项目大家都会吧。右击“解决方案”》添加》新建项目。最后显示窗口如下。

注意:上面图片中看到.NET Framework 4便是.NET Framework的版本号。读者们可以自行选择。

点击确定之后就会在解决方案下面多出一个项目工程(Hello)。只是这个项目工程没有Main入口而。不能执行。只能被引用。即是JAVA的导包了。看一下生成之后样子吧。

把俩个项目工程对面一下。就是发现他们的项目工程结构没有什么差别。在生成Hello项目工程的时候,Visual Studio会为你自主的新建一个类。如果你不需要的话,可是自行删。选择当前类右击》删除。或是快捷键“Delete”。那么新的问题又来了。如果想要新建类呢?这个时候就要明白一个简单的道理。记得Eclipse的类一般是存放在src的目录下。不好意思。C#这边没有这样子对应的目录。他们一般都是存放在项目工程的目录下。选择对应的项目工程右击》添加》新建项。

注意上面的图片只是笔者把最后一步的窗体贴出。其中还有一个跟上一章右击解决方案是一样子。看样子大家可能已经明白了。右击解决方案是新建项目,而这里右击项目工程是新建项。其实我们可以直接点击这个界面上的类就可以新建类了。可是笔者还是想选择一下新建项。看一下什么样子。

看上面的图片,笔者把俩个常用的画出来了。相信读者们一看就知道用于新建类和新建接口。我们这边选择新建类。在这个界面下部名称处填写类名即可。笔者命名为Activator。类名的头字母大写。这个俩边都是一样子的。先看一下他生成出来的样子吧。

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace Hello
{
8 class Activator
9 {
10 }
}

先看上面红色部分。接下来我们就要在他上面进行修改。增加我们需要的代码。笔者先修改。关于代码部分笔者下面会分析讲解。看一下修改后面的样子。不用多说就是输出Hello world.

 public class Activator
{
public void Print()
{
Console.WriteLine("Hello world");
}
}

好了。现在DLL包的项目工程建好之后,便是引用DLL包了。右击上面讲到的引用目录。

上面图片主要有三个常用功能需要注意的。笔者就是把他们例出来。其他的话,读者们感兴趣的话,自行研究吧。SORRY。

1.添加引用(R):这就是引用DLL包的地方。其中有引用解决方案和引用第三方的DLL包。

2.添加服务引用(S):这是引用Web service服务。JAVA不是也有Web Service吗。相信大家都懂。

3.管理NuGet程序包(N):用过Maven吧。就是相当于Maven的功能。就是用于网络在找到自己需要的DLL包。当然Maven功能。不只只是这些。

让我们看一下添加引用这个部分的工程吧。点击他。

上面弹出来的窗体便是引用DLL包的工作界面。我们会发现四个根目录。

1.程序集:用于引用.NET Framework内部的DLL包。相当于Eclipse的JRE里面的包。

2.解决方案:就是引用当前解决方案下面的项目。我们可以看到他会列出所有的项目工程。相信大家都知道Eclipse的JAVA Build Path的界面里面有一个叫Projects菜单项。笔者认为就相当于他了。

3.Com:这个笔者不好说啊。这里面包含了大量的com组件。因为笔者对这一部分不是很了解。所以。。。

4.浏览:这个就是引用第三方的DLL包了。就是引用别人开发DLL包。相当Eclipse增加JAR包是一样子的。相信你们选择这个根目录之后就会用了。对应的列表是你引用的历史记录。

不管你用的是浏览功能(即是引用第三方的DLL包)还是用解决方案引用。最后引用成功之后,在引用目录里面出现对应的DLL包名称。如下图的红色圈部分:

笔者曾经就在想是什么样子确定DLL名称叫Hello。笔者的意思是如果我不想要叫Hello,想要变成别的名称行不行呢?所以笔者做了一个试验。却发现一个很奇怪结果。笔者修改了项目工程生成的DLL名称。如果引用是用第三方案方式进行的话,即是用浏览。就是可以改变成对应的名字。但是如果引用是解决方案的方式进行的话,名字还是不会变。如果你修改了项目工程名称的话,名字变了。那么是如何修改每一个项目工程生成的DLL名称。只要选择对应的项目工程右击,弹出窗体如下

这个界面我们看过好多次。笔者就列出几次比较常用的功能。如下

1.设为启动项目(A):如果解决方案有多个含有Main入口类的项目工程的时候,不想启动解决方案默认的项目工程。这个时候就可以用这个工程来实现了。

2.卸载项目(L):这个功能就是有像Eclipse的Close Project功能了。

3.在文件资源理器中打开文件夹:这个要笔者来讲吗?

4.重命名(M):要笔者讲用。这就是上面讲到修改项目工程名称。

5.属性(R):这个是重点了。就是用于个修改项目工程的信息了。

了解了上面窗体之后,让我们点击“属性”菜单看一下到底会引出什么样子窗体。

上面图片中“应用程序”菜单项界面中程序集名称便是笔者之前讲的如何修改生成DLL名称。为了方便了解,笔者这里只会讲解常用的三个:应用程序、生成、调试。

1.应用程序:就是修改项目信息。包括:DLL生成的文件名,启动对象,还有当前项目工程是在什么版本的.NET Framework。信息的话,读者从上面图片就可以看出来。

2.生成:就是用于生成的信息。主要注意的是这里可以设置生成成功之后,要把文件存放在哪里去。

3.调试:就是调试运行的信息。主要注意的是设置运行的参数。不知道是否了解过Eclipse的Debug Configurations窗体的Arguments菜单项。

看到这里的时候,我不清楚读者们有没有这样子的想法。项目工程有属性信息,那么解决方案有没有属性信息。笔者只能说有。不过,不介绍。做法一样子。(笔者实在用的少,只是用了设置是单项启和多项启动。上不了台面啊)

好了。到了这里面相信读者们都知道如何去引用一个DLL或是项目工程了。那么引用成功之后,笔者就想修改一下Main入口类。即是Program.cs源码文件。笔者把上一章的代码修改成如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace HelloExample
{
class Program
{
static void Main(string[] args)
{
Hello.Activator activator = new Hello.Activator();
activator.Print();
}
}
}

上面的代码功能很简单,就是调用了笔者之前开发的DLL包里面的Activator类并打印Hello world而以。但这里面有俩点是要注意思的。

1.namespace关键字:JAVA的package关键字大家都知道吧。中文字叫包。.NET这边中文字却叫作命名空间。

2.using关键字:不用多说就是JAVA的import关键字了。

笔者微微的想了一下:解决方案下有N个项目工程,一个项目工程下有N个命名空间。一个命名空间下有N个类。Ctrl+F5启动一下。

本章总结

本章的重点是就对目项工程目录进行讲解。了解了引用功能。类的新建。命名空间和引入命名空。有了这一章的知识我们就可以方便进一步了解语法知识了。

Java进击C#——项目开发环境的更多相关文章

  1. 【java项目实战】一步步教你使用MyEclipse搭建java Web项目开发环境(一)

    首先.在開始搭建MyEclipse的开发环境之前.还有三步工具的安装须要完毕,仅仅要在安装配置成功之后才干够进入以下的java Web项目开发环境的搭建. 1.安装工具 第一步,下载并安装JDK,到官 ...

  2. Hadoop项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  3. Hive项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  4. 抛弃强大的TFS ,借助于BugTracker.NET + Visual Source Safe + SourceLink搭建项目开发环境

    微软公司的Team Foundation Server是个强大的项目管理工具,如果用.NET开发,它应该是首选的项目管理平台.TFS的成本比较高,而且和Visual Studio集成紧密.比如TSF有 ...

  5. iOS项目——项目开发环境搭建

    在开发项目之前,我们需要做一些准备工作,了解iOS扩展--Objective-C开发编程规范是进行开发的必备基础,学习iOS学习--Xcode9上传项目到GitHub是我们进行版本控制和代码管理的选择 ...

  6. 手把手教你用webpack3搭建react项目(开发环境和生产环境)(一)

    开发环境和生产环境整个配置源码在github上,源码地址:github-webpack-react 如果觉得有帮助,点个Star谢谢!! (一)是开发环境,(二)是生产环境. 一.首先创建packag ...

  7. 【Java】0X001.配置开发环境,JDK、classpath等

    [Java]0x01 配置开发环境,JDK.CLASSPATH等 一. 下载JDK安装文件 首先,进入Oracle官网Java页面. 注意,要下载的是JDK而不是JRE,这点很重要,因为JRE并不包含 ...

  8. Java Learning 000 搭建开发环境

    Java Learning 000 搭建开发环境 你需要两个软件: * JDK (Java Develop Kit :Java开发工具包) * eclipse (eclipse 集成开发环境软件) 安 ...

  9. 转】[1.0.2] 详解基于maven管理-scala开发的spark项目开发环境的搭建与测试

    场景 好的,假设项目数据调研与需求分析已接近尾声,马上进入Coding阶段了,辣么在Coding之前需要干马呢?是的,“统一开发工具.开发环境的搭建与本地测试.测试环境的搭建与测试” - 本文详细记录 ...

随机推荐

  1. C语言的傻瓜式随笔(二):全局变量、预编译、goto

    函数的作用:可以实现代码的重用. 函数只需要定义1次,那么函数中的代码就可以随意的调用.       -某不知出处的基本概念 学而时习之,如有误笔,请指正 一.goto跳转语句 goto在C语言的作用 ...

  2. 第一篇博客 用笨办法学python-14 提示和传递

    # 代码如下: usr_name = input("")script = input("")prompt = '> 'print("hi %s, ...

  3. Raft 为什么是更易理解的分布式一致性算法

    一致性问题可以算是分布式领域的一个圣殿级问题了,关于它的研究可以回溯到几十年前. 拜占庭将军问题 Leslie Lamport 在三十多年前发表的论文<拜占庭将军问题>(参考[1]). 拜 ...

  4. Jexus 支持PHP的三种方式

    Jexus不仅支持ASP.NET,而且能够通个自带的PHP-FCGI服务以及PHP-FPM等方式灵活支持PHP而且还可以以.NET(Phalanger)方式支持PHP. PHP-FCGI服务支持PHP ...

  5. Some warning were found during validation

    前几天做一个iOS下的App更新,到上传的时候出了问题,一直传了大半个小时,结果还是没传完,再试依然不行,于是只好关机,把电脑带回家弄. 回家后出现了更奇怪的事,经过漫长等待后,竟然出现这个提示: 我 ...

  6. 《Entity Framework 6 Recipes》中文翻译系列 (30) ------ 第六章 继承与建模高级应用之多对多关联

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第六章  继承与建模高级应用 现在,你应该对实体框架中基本的建模有了一定的了解,本章 ...

  7. 体验了微信小程序,发现安卓用户终于把果粉“碾压”了一次

    今天早上,张小龙在微信公开课上分享了小程序的理念,并且公布了小程序将于1月9日上线. 为了体现张小龙对未来程序形态的理解,小程序有四个特定:无需安装.触手可及.用完即走.无需卸载.今天,36氪刚好有机 ...

  8. js array queue (队列)

    前言 今天项目中做一个图片效果展示,需要实时从后台获取图片数据,前段做展示.想想用到队列,比较好实现这个功能,只需要展示队列里的数据就可以了.于是写了个js 对列. js code /** * [Qu ...

  9. iOS 之APP上架

    前几天在忙着上线,尽管之前已经上线过一次,但由于本身比较菜,还是状况百出. 好在今天终于成功提交,因此来写写心得. 如果是第一次上线,推荐这篇文章: http://jingyan.baidu.com/ ...

  10. 高德地图-搜索服务-POI搜索

    高德地图-搜索服务-POI搜索 之前公司项目收货地址仿饿了么的收货地址,结果发现自己实现的关键字搜索和周边搜索,搜索到的poi列表跟饿了么的并不完全一样,后来考虑了下,应该是搜索的范围.类型之类的设置 ...