vs2005发布站点生成随机的dll文件名的解决方案

原创 2007年10月09日 15:59:00

在Visual Studio 2003下开发网站的都知道ASP.NET 1.1网站生成后都是一个唯一命名的程序集(项目名

称.DLL),但是这种情况在Visual Studio 2005的网站开发中不见了。Visual Studio 2005给我们提供了

“发布网站”这样“方便”的功能,不用像以前一样COPY的部署,但是采用其“发布网站”的功能,会在

站点的BIN目录中产生App_Code.compiled,App_Code.dll,App_Web_xxxxxx.dll,项目名称.dll等等这样

的程序集,如果不采用预编译的方式那么产生的文件会更加的多,因为很多都是随机命名也没有什么规律

可言;这样会给那些想COPY更新的人带来不便,因为原来的文件不能被覆盖,需要先删除再COPY;有很多

时候可能就是更新了后台代码,直接生成项目或是WEB的程序集,像以前一样直接覆盖DLL的方式也很简单

下面将介绍我采用Microsoft Web Deployment Projects在Visual Studio 2005中生成唯一程序集的方法

先下载Microsoft Web Deployment Projects,地址是:
http://msdn2.microsoft.com/en-us/asp.net/aa336619.aspx

声明一下,我用的VS2005是Team suit版本的。

安装后在“生成”和WEB项目的上下文菜单看到“Add Web Deployment Project…”,好了,现在在解决

方案中点你的网站项目名称,右键,添加一个Web Deployment Project项目,起一个名称,这个名称就是

将来编译后生成的程序集名称,默认的名称“当前项目名称_deploy”(我的项目是Web_deploy),这样

操作后项目解决方案中会多一个项目Web_deploy,然后我们对Web_deploy进行操作就可以达到我们的目的

了。

右键打开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="首页" %>

 

vs2005发布站点生成随机的dll文件名的解决方案

在Visual Studio 2003下开发网站的都知道ASP.NET 1.1网站生成后都是一个唯一命名的程序集(项目名 称.DLL),但是这种情况在Visual Studio 2005的网站开发中不...
  • zhanglei5415
  • zhanglei5415
  • 2007-10-09 15:59:00
  • 1443

在用VS2005发布网站项目时,默认生成bin目录下的.dll文件名是随机命名的;

 在用VS2005发布网站项目时,默认生成bin目录下的.dll文件名是随机命名的;    如果要固定生成文件名如何固定呢?有以下两种方案:一、每个页面的程序集分别生成对应的dll;方法:在“发布网站...
  • fftoo
  • fftoo
  • 2008-07-19 17:21:00
  • 251

vs2005发布站点生成随机的dll文件名的解决方案

转自:http://blog.csdn.net/zhanglei5415/archive/2007/10/09/1817000.aspx在Visual Studio 2003下开发网站的都知道ASP....
  • woshiqq
  • woshiqq
  • 2007-12-10 09:50:00
  • 440

避免vs2005发布站点生成随机的dll文件名

在Visual Studio 2003下开发网站的都知道ASP.NET 1.1网站生成后都是一个唯一命名的程序集(项目名称.DLL),但是这种情况在Visual Studio 2005的网站开发中不见...
  • showz_y
  • showz_y
  • 2010-01-13 09:59:00
  • 450

VS2008发布网站生成一个固定DLL,之后出现合并程序集时出错的解决办法

在使用VS2005和VS2008来开发网站,在发布网站时不会像VS2003一样生成规则的DLL文件,而生成的DLL文件名含有随机数不固定且不能一个项目生成一个DLL文件,每次更新的时候的全部更新才行。...
  • wangrumeng
  • wangrumeng
  • 2010-11-24 14:03:00
  • 2230

.net网站发布只生成一个dll的方法

VS2005发布网站时不会像VS2003一样生成规则的DLL文件、而生成的DLL文件名含有随机数且不能一个项目生成一个DLL文件。用VS2005发布网站项目时,默认生成bin目录下的.dll文件名是随...
  • dawran
  • dawran
  • 2011-07-06 16:46:08
  • 4081

VS2005发布、生成网站时如何设置固定的dll文件名?

在用VS2005发布网站项目时,默认生成bin目录下的.dll文件名是随机命名的; 如果要固定生成文件名如何固定呢?有以下两种方案:一、每个页面的程序集分别生成对应的dll;方法:在“发布网站”的选项...
  • 21aspnet
  • 21aspnet
  • 2007-03-20 20:50:00
  • 5156

VS2005生成菜单缺少生成解决方案,重新生成解决方案,清理解决方案

问题: 我现在装的vs2005 ,但是打开vs以后,在菜单项中 生成选项就只有 生成解决方案,生成web,发布web,对web进行代码分析 四个子菜单。   我记得应给有 生成解决方案,重新生成解...
  • yy13210520
  • yy13210520
  • 2012-08-12 13:23:45
  • 2097

VS2005发布、生成网站时如何设置固定的dll文件名?

在用VS2005发布网站项目时,默认生成bin目录下的.dll文件名是随机命名的; 如果要固定生成文件名如何固定呢?有以下两种方案:一、每个页面的程序集分别生成对应的dll;方法:在“发布网站”的选项...
  • lanmao100
  • lanmao100
  • 2007-12-18 15:00:00
  • 507

VS2008发布网站生成一个固定DLL,之后出现合并程序集时出错的解决办法

  VS2008发布网站生成一个固定DLL,之后出现合并程序集时出错的解决办法 收藏 在使用VS2005和VS2008来开发网站,在发布网站时不会像VS2003一样生成规则的DLL文件,而生成的DLL...
  • sandyxxx
  • sandyxxx
  • 2010-04-18 17:11:00
  • 4061
收藏助手
不良信息举报
您举报文章:vs2005发布站点生成随机的dll文件名的解决方案
举报原因:
原因补充:

(最多只允许输入30个字)