一开始是做android的,后来因为其他原因开始学习.NET,先从C#开始学起
  顶贴的都给分,也希望各位帮个忙,呵呵,有几个问题,是关于.NET的
  
  1.程序是怎样组织的。
  2.文件结构是怎样的。
  3.每种类型的文件是做什么的
  4.怎么进行编译的。
  5.怎样部署 .NET 开发的程序

解决方案 »

  1.   

    .NET开发的程序有两大类,一类是windows界面程序,另外一种是Web版的;对于第一种,可以通过IDE开发环境自动生成一个安装文件,在windows中安装即可;对于web版的,在IIS中部部置就可以。
      

  2.   

    文件格式很多,太广
    C#要求所有的程序逻辑都包含在一个类型定义中(类型是指{类、接口、结构、枚举、委托}中的一种
    VS里编译
    WEB网站发布,再配置
    WINFORM安装部署
    看看MSDN
      

  3.   

      部署和分发.NET应用程序的两种方法(转载自赛迪网)   
              微软的.NET计划是一项激动人心的浩大工程,随着VS.NET   Beta2版本的发布,.NET技术也逐渐趋于稳定和成型,越来越多的公司和技术爱好者投入到.NET的开发中来,而现在及早开始.NET的学习和相关开发正是好时机。但是,目前存在着的一个明显事实是,所有的基于.NET技术的应用程序或者产品都需要.NET的运行库支持,因为.NET在程序部署和分发方面有些类似,它需要.NET   Framework   SDK的支持(JAVA应用程序需要JDK的支持才可以运行),不幸的是,目前的Win9x系列以及WinNT/2000系列均没有内置.NET   SDK(不难理解,因为.NET技术的推出的时间晚于上面提到的各种操作系统的发布时间),甚至连即将发布的WindowsXP都不会内置.NET   SDK。     
      虽然,没有了.NET   SDK的支持,就连一个简单的在屏幕上面打印“Hello,World!”的应用程序都无法运行,那我们也不可能要求用户必须手工安装将近120M的.NET   SDK后才能运行我们自己开发的应用程序!有没有更为简便的发布.NET应用程序的方法呢?答案是肯定的,下面我们就提供两种可以正确部署和发布.NET应用程序的方法。     
        
      一、用VS.NET来部署和分发.NET应用程序     
      无庸置疑的是,VS.NET是开发.NET应用程序的一个非常强大和快捷的集成开发环境(IDE),微软历来在配合自己的应用技术方面都能做到尽善尽美,当然,我想也只有微软才能真正做到和.NET技术的无缝衔接。     
        
      下面我们就详细看看如何利用VS.NET来部署和分发.NET应用程序。为了讲解的方便,我们例举一个非常简单的Windows应用程序:简单的在屏幕上面放置一个按钮Button。     
        
      我们开发.NET应用程序的测试环境是:Windows2000   Server中文版(SP2)+VS.NET   Beta2中文版。     
        
      第一步:     
        
      在原有的项目基础上,再新建立一个项目,并且选择其中的“安装和部署项目”,如下图所示:     
      注意上图中红色标记的地方,尤其需要注意选择“添入解决方案”这个选项,因为只有这样才会将部署项目和我们自己的应用程序放置到同一个“解决方案”当中,这一点千万要注意了!     
        
      第二步:     
        
      点击“确定”按钮之后,会出现安装向导,如下图所示:   
        
      因为我们的.NET测试程序是一个Windows应用程序,所以我们在上图中选择“创建用于Windows应用程序的安装程序(S)”。点击“下一步(N)”,我们将会看到需要选择的画面,如下图所示:   
      图中的各个选择项目的含义相信大家可以从中文名称中直观的理解到,我们就不再多费口舌了。一路点击“下一步”直到最终安装向导的完成会需要5步,最终会在当前的解决方案中添加一个名称为“Setup1”的安装项目。     
        
      在这里我们稍微提一下在VS.NET中的“解决方案”这个概念,其实在VS.NET中的所谓“解决方案”就类似于以前VB中的“项目组”概念,也就是将多个项目集成到一起而已,只不过VS.NET中的“解决方案”这个概念的覆盖范围更广泛而已罢了,这个我们知道一下就可以了。     
        
      第三步:     
        
      在完成上面的两个步骤之后,我们就会发现,VS.NET的安装向导已经将我们的应用程序中所用到的各种程序集、系统DLL文件、资源文件等等依赖文件找到了,并且我们还可以方便的继续添加额外的我们需要的其他相关文件,在这方面做的有些类似于InstallShield了,不过不需要编写安装Script脚本。     
      这样,我们选择VS.NET的菜单“生成(B)”—〉“生成解决方案”,即可立即生成我们的安装文件Setup1.msi,这个安装文件你可以在你的应用程序解决方案所在的目录中找到。     
        
      找到了这个安装文件你就会大吃一惊了,即使我们的应用程序只有简单的一句话,打包之后就会有17M之大!不过没有办法,VS.NET会生成一个简洁的.NET   SDK放在我们刚才生成的那个安装文件当中。     
        
      剩下来的事情,就是直接在没有安装.NET环境的Windows9x/NT/2000/XP中运行我们的这个Setup1.msi文件就可以了!     
      二、手工部署和分发.NET应用程序     
      在上面的第一种方法中,我们可以感受到VS.NET来做.NET应用程序的方便和快捷,但是并不是所有的人都是使用VS.NET集成开发环境来开发.NET应用程序的,对于一些小的应用程序,根本不需要安装庞大的VS.NET开发环境也可以方便的开发,比如使用UtraEdit软件来编写小巧玲珑的.NET应用程序也是一个不错的选择。     
        
      在这里我们就说说如何不使用VS.NET来自己手工的部署和分发我们的.NET应用程序。首先分两类:     
        
      第一类:基于Web的.NET应用程序     
        
      对于这一类应用程序,可以说在部署和分发方面是最为简单的了,我们只需要将.NET运行环境安装到我们自己的服务器上面就可以了,用户端需要的仅仅是兼容IE4.0以上的任何浏览器就可以了。     
        
      第二类:基于Windows的.NET应用程序     
      对于这一类,应用程序,我们可以使用InstallShield安装软件来手工打包。首先,先在我们的.NET   Frameword   SDK光盘中找到目录dotNet,在这个目录里面我们可以发现一个大小大约15M的一个安装文件,这个就是我们的.Net   的运行时刻文件,类似于JAVA的JRE(JAVA运行时环境)。这个文件的体积也是比较大的,但是相对于.NET   SDK文件的庞大的120M可以算是要好许多了。     
        
      至于InstallShield的详细使用方法我在这里也无法透彻讲解,不过使用起来是非常方便的,我只提出需要注意的地方:     
        
      1、在使用InstallShield中,可以稍微编写一段脚本来监测目标机器时候已经存在了.NET的运行环境,如果有了,就不必安装.NET运行时文件了。     
        
      2、所有我们自己的DLL文件不在需要注册,只需要简单的将他们拷贝到我们应用程序所在的目录即可!     
        
      我们在这里例举的是使用InstallShield来制作安装程序,当然还可以使用其它的任何第三方安装制作软件来部署和分发我们的.NET应用程序,比如Windows   Installer等等。     
        
      好了,最终我们比较这两种部署和分发.NET应用程序的方法,我们可以看到,使用第二种方法能够带来的一个潜在好处是,我们可以将.NET运行时环境文件和自己的应用程序分离开来,从而在某些情况下可以大大减少部署安装应用程序的文件大小;而第一种方法就不可以了,他将始终将.NET运行时环境文件打包进入安装文件。但是第一种方法的优点也是显而易见的,就是比较智能化,需要人干预的地方很少,并且如果需要部署和分发的.NET应用程序是比较大型的软件的话,我们推荐使用第一种方法!     
        
      相信在微软正式发布.NET以及VS.NET之后,部署和分发.NET应用程序将会变得更加简单和快捷,但是最好的方式是希望微软在下一版本的操作系统中能够内置.NET运行时环境就好了,那样的话,我们就不必时刻“随身携带”体积不算小的.NET运行时环境文件了,让我们拭目以待吧。     
        
      (以上方法在Windows2000   Server中文版SP2+VS.NET   Beta2   中文版中测试通过)   
        
        
      ☆☆☆原文链接   http://www.ccidnet.com/html//tech/guide/2001/10/09/58_3399.html   
      小弟没有将图片粘贴过来,请大家访问上面的链接观看详细内容。   
      

  4.   

        LZ你的前2个问题是一个问题吧?而且你的问题太范了,就象第3个问题,.NET可以用来做很多种开发,不同的开发会编译生成不同的文件,很难一一说明,我.NET也是新手,用C#,现在只能说会开发WEB应用程序,例如网站,文件的话前台是ASPX,ASP,HTML之类的文件,这些都是网站的页面文件,后台源文件是.CS文件一般编译生成.EXE或者.DLL文件,这些都是程序集,你部署项目的时候这些程序集文件一定不能少,这些只是最基本的,比如有的网站要做报表,我要是用水晶报表的话,还会有水晶报表的文件.rpt文件。对了,还有自动生成的一些资源文件.RESX文件,还有有时候定义页面元素样式的文件.CSS,还有一些你要引用的图片文件之类,还有好些其他,很难全部包括进去,大概就是这样,反正这个你先从简单的学起,做网站是最简单的,也很容易上手,多上CSDN,多看人家的源代码,从自己会的开始慢慢就明白了。
      

  5.   

    从楼主的问题中就可以看出楼主是有经验而且有思想深度的开发人员,我想凭楼主的能力应该会很快掌握c#,时间不会超过二个星期,建议楼主多看看csdn,你要的答案在里面都有
      

  6.   

    不小心,打错了,应该是msdn,当然csdn也应该常看看
      

  7.   

    我想你做过程序开发,基本的算法思想应该有。
    c#只要你对C熟悉,剩下的问题就是它的语法结构和一些特性了,看看别人的SAMPLE,上手应该很快。
      

  8.   

    C#中程序结构的关键概念为程序、命名空间、类型、成员和程序集。C#程序包括一个或多个源文件。程序中声明类型,类型包含成员并能够被组织到命名空间中。
      
      C#中程序结构的关键概念为程序、命名空间、类型、成员和程序集。C#程序包括一个或多个源文件。程序中声明类型,类型包含成员并能够被组织到命名空间中。类和接口是类型的例子。字段、方法、属性和事件则是成员的例子。当C#程序被编译时,它们被物理地打包到程序集中。程序集的文件扩展名一般为.exe或者.dll,这取决于它们是实现为应用程序(application),还是类库(library)。
    注:最好装上MSDN,这里面.NET的东西几乎都有讲,有时间进去多看看.
      

  9.   

    先做个标记,我也刚学.net,C#,以后还要多多学习!
      

  10.   

    这个问题你应该问VS,做C#开发,除了3,5,其余都是VS帮你做的,如果你想了解他最底层的机制,那可以,但是你这个问题问的。
      

  11.   


    MSDN上面是最好的学习场所CSDN也不错哦。、
      

  12.   

    安装个vs2008 ,然后下本C#的pdf教程,基本能搞定一大堆事
      

  13.   

    C#中程序结构的关键概念为程序、命名空间、类型、成员和程序集。C#程序包括一个或多个源文件。程序中声明类型,类型包含成员并能够被组织到命名空间中。
      
      C#中程序结构的关键概念为程序、命名空间、类型、成员和程序集。C#程序包括一个或多个源文件。程序中声明类型,类型包含成员并能够被组织到命名空间中。类和接口是类型的例子。字段、方法、属性和事件则是成员的例子。当C#程序被编译时,它们被物理地打包到程序集中。程序集的文件扩展名一般为.exe或者.dll,这取决于它们是实现为应用程序(application),还是类库(library)。  示例:
    using System;
    namespace Acme.Collections
    {
     public class Stack
     {
      Entry top;
      public void Push(object data){
        top=new Entry(top,data);
      }  public object Pop(){
       if (top==null) throw new InvalidOperationException();
        object result=top.data;
         top=top.next;
        return result;
      }
      class Entry
      {
       public Entry next;
       public object data;   public Entry(Entry next,object data){
        this.next=next;
        this.data=data;
       }
      }
     }
    }  在叫做Acme.Collections的命名空间下,声明名为Stack的类,这个类的完全限定名就是 Acme.Collections.Stack。它包括几个成员:一个名为top的字段,两个分别命名为push和pop的方法,以及一个名为Entry 的嵌套类。Entry类又进一步包括三个成员:一个名为next的字段,一个名为data的字段,以及一个构造函数。假定这个示例的源程序被存为 acme.cs文件,命令行为:csc /t:library acme.cs  将这个示例编译为类库(不带Main入口点的代码),并且产生一个名为acme.dll的程序集。  程序集包括中间语言(Intermediate Language,IL)指令形式的可执行代码,以及元数据(metadata)形式的符号信息。在它执行之前,程序集的IL代码将被.NET公共语言运行库(Common Language Runtime,CLR)自动转换成特定处理器的代码。  由于程序集是自描述的功能单元,它既包括代码,也包括元数据,因此,在C#中不需要#include指令和头文件。假如某个C#程序需要引用特定程序集中的公共类型和成员,那么只在编译时简单地引用那个程序集就可以了。例如,下面的程序使用来自acme.dll程序集中的 Acme.Collections.Stack类:
    using System;
    using Acme.Collections;class Test
    {
     static void Main(){
      Stack s=new Stack();
      s.Push(1);
      s.Push(10);
      s.Push(100);
       Console.WriteLine(s.Pop());
      Console.WriteLine(s.Pop());
       Console.WriteLine(s.Pop());
     }
    }  如果程序被存为test.cs文件,那么,在test.cs被编译时,acme.dll可以通过/r选项被引用:csc /r:acme.dll test.cs  这样可以创建一个名为test.exe的可执行程序集,运行结果如下:  100
      10
      1  C#允许一个程序的源文本被存为几个源文件。当多文件的C#程序被编译时,所有的源文件都被一起处理,并且各个源文件从概念上能够自由地相互引用,就如同处理之前,所有的源文件被连接成一个大文件。在C#中向前声明是没有必要的,原因就是声明的顺序无关紧要。C#不限制一个源文件只能声明一个公共类型,也不要求源文件名必须与该文件中的类型相匹配译注
      

  14.   

    wddddddddddddddddddddddddddddddddddddddddddddddd
      

  15.   

    .NET开发的程序有两大类,一类是windows界面程序,另外一种是Web版的;对于第一种,可以通过IDE开发环境自动生成一个安装文件,在windows中安装即可;对于web版的,在IIS中部部置就可以。
    也是新手,也不太懂。
      

  16.   

    建议楼主看一下数,VISUAL C# 2005(或2008)从入门到精通,这本书看完,楼主想要了解的概念性问题都能解决了,另外再多参考一下MSDN
      

  17.   

    来接分,正好问问androod怎么入手,给几个从0开始的网站。
      

  18.   

    哈哈,顶贴~~我现在也初学
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/