csc /t:library /out:\bin\test.dll test.aspx.cs
生成了test.dll文件,在.aspx文件中,该如何引调用这个.dll文件呢?

解决方案 »

  1.   

    <%@ Page language="c#" Codebehind="test.aspx.cs" AutoEventWireup="false" Inherits="NameSpace.ClassName" %>
      

  2.   

    为什么还要test.aspx.cs呢?
    我编译成.dll的目的,就是要最终删除.cs文件呀?
      

  3.   

    我是用的vs.net生成的.aspx和.aspx.cs呀
      

  4.   

    我理解了一下各位的意思,是不是:在整个方案中,先引用N个由.aspx.cs编译成的.dll然后才可以在删除.cs文件???
      

  5.   

    先添加test.dll的引用,然后在cs文件中using test.dll的名字空间,就可以调用了;而在.aspx文件中,是这样调用的:<%@ Register TagPrefix="uc1" Namespace="test.dll的名字空间" Assembly="test" %>
      

  6.   

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    namespace parentprise
    {
    /// <summary>
    /// test 的摘要说明。
    /// </summary>
    public class test : System.Web.UI.Page,System.Web.SessionState.IRequiresSessionState,IHttpHandler
    {

    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if(!IsPostBack)
    {
    string s=g();
    Response.Write(s.ToString().Trim());
    }
    } private string g()
    {
    String tmps="abc";
    return tmps;
    }
    catch
    {
    return "";
    } } #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion
    }
    }
    我将上边代码编译成test.dll后,在
    web.config中作了相应的调用设置
    <httpHandlers>
      <add verb="*" path="test.aspx" type="parentprise.test,test" />
       </httpHandlers>
    //parentprise是项目名称
    打印到页面上的内容是:abcabc
    为什么是多打一个abc呢?应该如何解决掉它呀?
      

  7.   

    在vs如果是公用类的dll你可以添加引用
    using ...
      

  8.   

    在整个方案中,先引用N个由.aspx.cs编译成的.dll然后才可以在删除.cs文件???
    -------------------------------------------------------------------------------------
    你也可以先删除后引用啊,你这样做是对的,但是你如果是用VS.net的话,就不用这么麻烦了,直接Ctrl+Shift+B不就行了。用VS.net的话,就没必要用csc.exe把cs文件一个一个编译了,因为VS.net会把整个项目编译成一个dll。
      

  9.   

    对,我就是用的vs.net2003
    jxufewbt:那我是不是可以将所有.aspx.cs的文件全部删除掉呢?
      

  10.   

    对,我就是用的vs.net2003
    jxufewbt:那我是不是可以将所有.aspx.cs的文件全部删除掉呢?可以!!,兄弟,放心删吧.
      

  11.   

    先在引用中浏览test.dll文件,然后再using 命名空间就可以啦
      

  12.   

    除了删除.aspx.cs文件外,我的目录中有还:
    parentprise.csproj
    parentprise.sln
    parentprise.vsdisco
    parentprise.suo
    这些可以一起删除掉吗?或者换句话说:如果我要移植这个web目录到另一台电脑上去运行,是不是除了bin目录中的.dll文件和所有web目录中的.aspx文件外,其它的所有后台文件全部都可以删除掉?
      

  13.   

    是的,除了aspx,ascx等页面控件以及web.config等配置文件,.sln等项目文件以及.cs等后台源代码都可以删除,因为已经编译到.dll里面了
      

  14.   

    为什么我使用了spobf混淆器处理了我的.dll后就无法正常运行呢?
    报错:行 256:                <add assembly="System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    行 257:                <add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    行 258:                <add assembly="*"/>
    行 259:            </assemblies>
    行 260:
     源文件: c:\winnt\microsoft.net\framework\v1.1.4322\Config\machine.config    行: 258