首页
知识
文库
登录
|
注册
首页
最近更新
所有主题
我的主题
我的收藏
首页
·
知识
·
云计算
VS2005生成唯一程序集
佚名
http://loverer.com/default.asp?CateID=3&page=6
综合
编辑:
dezai
图片来源:网络
在VisualStudio2003下开发网站的都知道ASP.NET1.1网站生成后都是一个唯一命名的程序集(项目名称.DLL),但是这种情况在Visual 
在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="首页" %>
=========================================================
方法介绍如下:
预编译 ASP.NET 网站以进行部署(推荐给客户部署时使用)
打开一个命令窗口并定位到包含 .NET Framework 的文件夹。
.NET Framework 将安装在以下位置。
%windir%\Microsoft.NET\Framework\version
运行 aspnet_compiler 命令,将源指定为虚拟路径或物理路径,指定目标文件夹,并指定一个开关以指示是要同时编译代码和 .aspx 页(默
认设置)还是只编译代码。
aspnet_compiler -v virtualPath targetPath
如果您的网站不是 IIS 应用程序,并因此 IIS 元数据库中没有项,请为 -v 开关使用下面的值:
aspnet_compiler -p physicalOrRelativePath -v / targetPath
如果要预编译该站点以进行部署和更新,请包括 -u 开关,如下面的代码示例所示。
aspnet_compiler -p physicalOrRelativePath -v / targetPath -u
targetPath 参数是物理路径。
本文作者:佚名 来源:http://loverer.com/default.asp?CateID=3&page=6
CIO之家 www.ciozj.com 微信公众号:imciow
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读
看透SAAS企业好坏的16个关键指标
SaaS产品的五类核心指标
云业务成本的组成与管理趋势
也许感兴趣的
.
AGIC和软件生命周期:远不止是编码辅助
.
营销增长:如何从0到1设计并搭建你的会员体系?
.
制造企业MES功能架构及实施规划流程
.
如何做好私域运营
.
数据脱敏技术
.
数据中台建设的目标、流程及四大要点
.
数智时代,业财融合分析平台如何重新定义商业智能
我们推荐的
.
SaaS的关键指标有哪些
.
复杂的云原生体系建设
.
微服务架构设计总结实践
.
SaaS 市场体系搭建和企业营销全漏斗改造
.
SaaS企业如何应对疫情
.
中国SaaS发展史:一半是火焰,一半是海水
.
如何定义一家成熟的SaaS公司?
.
这些核心指标影响SaaS公司估值
主题最新
.
一文搞懂微服务架构演进
.
一文详解微服务架构
.
迄今为止最完整的DDD实践
.
全链路压测自动化实践
.
多维度规划业务架构
.
企业架构之业务架构
.
需求管理完整指南
.
软件安全设计原则
.
应用部署初探:微服务的3大部署模式
看看其它的
收藏至微信