两台计算机都装有FrameWork1.1,一台装有VS2003,在VS2003上已经编译过的文件能不能复制到没装VS2003的计算机运行,请问:文件不需要编译么?

解决方案 »

  1.   

    当然,如果包括一些自己的或调用的dll,需要把这些东西一同复制过来才能运行
      

  2.   

    当然,如果包括一些自己的或调用的dll,需要把这些东西一同复制过来才能运行
    但是如果是包含VS2002下生成的dll的话需要重新编译,
    或者是安装FrameWork1.0
      

  3.   

    比如你在开发机(安装了VS.NET2003的机器)上安装了新的组件ComponentOne、Microsoft.Web.UI.WebControls等,你最好使用打包安装,如果不是安装,只是复制,需要将你程序中引用的各个dll(如果是系统的可以不用,比如System.Data,System.XML)一同复制
      

  4.   

    你以经编译过了。。下面的就是IIS的解释了。
      

  5.   

    解析对程序集的类引用 
    程序集是公共语言运行库中的类部署单元。使用 Visual Studio .NET 7.0 版编写 .NET 框架类的开发人员将为他们编译的每个 Visual Studio 项目生成一个新的程序集。尽管使程序集跨越多个可移植可执行 (PE) 文件(几个模块 DLL)是可行的,但默认情况下,Visual Studio .NET 将所有程序集代码编译成一个 DLL(1 个 Visual Studio .NET 项目 = 1 个 .NET 框架程序集 = 1 个物理 DLL)。 在计算机上,可以通过将程序集部署到程序集缓存中来使用程序集。程序集缓存可以或者对计算机是全局的,或者对特定应用程序是本地的。只有要在多个应用程序间共享的代码才应该放在全局系统程序集缓存中。特定于具体某个应用程序的代码(如大多数 Web 应用程序逻辑)应该部署到应用程序的本地程序集缓存中。将程序集部署到应用程序的本地程序集缓存中的一个好处是,只有该应用程序内的代码才可以访问它。(对涉及 ISP 的情况而言,这是一个好特性。)它还有利于同一应用程序的并排版本控制,因为类对于每个应用程序版本实例是专用的。 只需将适当的文件复制、XCOPY 或 FTP 到已被标记为应用程序的“程序集缓存位置”的目录,就可以将程序集部署到此应用程序的本地程序集缓存中。复制了适当的文件后不必运行其他注册工具,也不需要重新启动。这消除了目前与在 ASP 应用程序中部署 COM 组件有关的一些困难(目前,管理员必须从本地登录到 Web 服务器并且运行 Regsvr32.exe)。 默认情况下,ASP.NET 框架应用程序被自动配置为将紧接应用程序根下的 \bin 子目录用作其本地程序集缓存。\bin 目录还被配置成拒绝任何浏览器访问,从而使远程客户端无法下载和窃取代码。下面的示例显示了 ASP.NET 应用程序的一种可能的目录布局,其中 \bin 目录紧接在应用程序根下。 C:\inetpub\wwwroot
       Web.cfg
       Default.aspx   \bin                  <= Application assembly cache directory
          MyPages.dll
          MyBizLogic.dll   \order
          SubmitOrder.aspx
          OrderFailed.aspx      \img
             HappyFace.gif
      

  6.   

    ASP.NET 框架应用程序启动和类解析 
    ASP.NET 框架应用程序是在客户端第一次向其请求 URL 资源时才构造的。每个 ASP.NET 框架应用程序都在一个唯一的应用程序域 (AppDomain)内启动——此域是一种新的公共语言运行库构造,它使进程主机能够在运行时提供广泛的代码、安全性和配置隔离。 ASP.NET 负责在新应用程序启动时手动创建应用程序域。作为此过程的一部分,ASP.NET 提供供公共语言运行库使用的配置设置。这些设置包括: 组成本地程序集缓存的目录路径。(注意:是 .NET 框架应用程序域隔离结构使每个应用程序得以保持各自的本地程序集缓存。) 
    应用程序的安全限制(应用程序在系统上可以访问的内容)。 
    由于 ASP.NET 在编译时不知道您在其上所写的任何应用程序,所以它无法使用静态引用来解析和引用应用程序代码。相反,ASP.NET 必须使用动态类/程序集解析方法来实现从 ASP.NET 运行库到应用程序代码的转换。 ASP.NET 配置和页激活文件使您能够通过指定程序集和类名组合,动态引用目标编译的 .NET 框架类。该联合的字符串格式遵从此模式 classname, assemblyname
    于是,公共语言运行库可以使用此简单的字符串引用来解析和加载适当的类。 代码替换 
    .NET 框架程序集通常编译和部署成基于 Windows DLL 的 PE 格式。当公共语言运行库的加载程序解析在此类型的程序集中实现的类时,它调用文件(锁定它在磁盘上的访问)上的 Windows LoadLibrary 例程,然后将适当的代码数据映射到内存中以在运行时执行。加载后,DLL 文件在磁盘上保持锁定,直到引用它的应用程序域被销毁或者被手动回收。 尽管 ASP.NET 无法防止公共语言运行库在磁盘上锁定加载的程序集 DLL,但它仍能提供支持,确保 Web 应用程序专用程序集缓存中的物理 DLL 永远不被运行库实际加载。相反,在程序集 DLL 即将使用之前会对它们进行影像复制。因此,运行库锁定和加载的是这些影像程序集,而不是原始文件。 由于原始程序集文件总是保持不锁定,所以可以任意删除、替换或重命名它们,而不必循环 Web 服务器或不得不使用注册实用工具。FTP 和类似的方法同样有效。ASP.NET 维护在特定应用程序的应用程序域中加载的所有程序集的活动列表,并使用文件更改监视代码监视原始文件的任何更新。 
      

  7.   

    比如你在开发机(安装了VS.NET2003的机器)上安装了新的组件ComponentOne、Microsoft.Web.UI.WebControls等,你最好使用打包安装,如果不是安装,只是复制,需要将你程序中引用的各个dll(如果是系统的可以不用,比如System.Data,System.XML)一同复制
      

  8.   

    FrameWork1.1装完后,打完SP1新建不了项目,但有时就正常,我都不知道是什么原因了,不会是编译时用的1.0吧?