ASP.NET 2.0 网站编译成一个DLL

 

下载、安装Web Deployment Projects插件。 

      下载地址:VS 2005 Web Deployment Projects下载 

      这东西就是个msi,919K,直接安装就OK了。记得装的时候把VS关了。 

创建Web Deployment项目 

      打开Web项目所在的解决方案,右键点击Web项目,选择"Add Web Deployment Project…" 

      在弹出的对话框中设置Web Deployment Project的名称(假设这里设置的是Web_Deploy),点击"OK"按钮,Web       Deployment Projects会自动在解决方案中添加部署项目。

配置Web Deployment项目 

      右键点击Web_Deploy项目,选择"属性页",可以根据自己的需要自行设定。如果仅仅是简单的部署,其默认设置就已经Ok了。 

      右键点击Web_Deploy项目,选择"Open Project File"打开部署项目文件,在这里可以添加BeforeBuild、BeforeMerge、AfterMerge、AfterBuild等事件的处理方法。例如: 

在生成后创建文件夹: 

<Target Name="AfterBuild"> 

<MakeDir Directories="$(TargetDir)/Upload" /> 

</Target>  

排除某个文件夹中的测试页面 

<ItemGroup> 

<ExcludeFromBuild Include="$(SourceWebPhysicalPath)/Test/**/*.*"/> 

</ItemGroup> 

      右键点击Web_Deploy项目,选择"生成"。在输出窗口中,我们可以看到生成过程调用了aspnet_compiler.exe对网站进行编译。 

      打开生成目录,默认情况是Web_Deploy项目所在目录中的Debug目录。目录中包含.aspx文件、.config文件,bin目录中有编译结果,其中不包含源代码,而且编译后的dll文件名没有每次变更的后缀,目的达到了。

 

创建Web部署项目 

      创建Web部署项目(假设命名为Web.Setup)。 

      将Web_Deploy项目生成的文件添加到Web.Setup项目的文件系统中。 

      对Web.Setup项目做些必要的设置,当然,我是做实验的,所以就保持默认设置了。 

      生成Web.Setup项目 

      完成 

      安装msi,OK了。

 

    附注:WEB DEPLOYMENT PROJECT的一些配置介绍:   

右键打开Web_deploy项目的属性页面,察看“配置属性”,先看"Compilation"选项:

 

Compilation中的Output Folder设置项目输出路径,这个可以默认。

我们把Generate debug information和Allow this precompiled site to be updatable两项的对勾打上。

 

Output Assemblies中的四大选项:

1. Merge all outputs to a single assembly-所有输出都编译成一个程序集(参数:程序集名称) 1.1   Treat as library component (remove the App_Code.compiled file)-App_Code视为类库(删除App_Code.compiled文件)

 

2. Merge each individual folder output to its own assembly-WEB项目中单独的目录会编译到一个程序集中(参数:程序集前缀)

 

3. Merge all pages and control outputs to a single assembly-所有页面控件编译到一个程序集中(参数:程序集名称)

 

4.  Create a separate assembly for each page and control output-为每一个页面和控件创建程序集Signing使用key文件建立强命名空间的程序集这里我们只需要设置“1. Merge all outputs to a single assembly-所有输出都编译成一个程序集(参数:程序集名称)”(我设置的是Web_deploy)和“1.1  Treat as library component (remove the App_Code.compiled file)-App_Code视为类库(删除App_Code.compiled文件)”(这个对勾要打上)。

 

这样,我们再把程序的页面继承关系改一下就可以发布网站了!举个例子:

 

网站中每个ASPX文件的PAGE我们这样改:

Index.aspx

<%@ page Language="C#" MasterpageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="wjj.Web.Index" Title="首页" %>

 

 

注意其中的Inherits="wjj.Web.Index",wjj.Web是我网站的我自己定义的命名空间。

 

Index.aspx.cs也要加上命名空间

namespace wjj.Web

{

    public partial class Index : System.Web.UI.Page

    {

               protected void Page_Load(object sender, EventArgs e)

        {

        }

     }

  }

好了,点项目Web_deploy右键---重新生成就可以了,终于把问题解决了!

 

Index.aspx生成后的PAGE如下:

<%@ page language="C#" masterpagefile="~/MasterPageDefault.master" autoeventwireup="true" 

inherits="wjj.Web.Index, Web_deploy" title="首页" %>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值