发布网站的时候有三个选项:
第一个选项指定发布后是不是可以修改aspx文件,如果勾选,则发布后的网站行为基本与ASP.NET 1.1一致,只要没有增删修改控件,可以直接在服务器上修改aspx文件不用重新发布网站。
第二个选项指定是不是将每个aspx文件都编译成一个DLL文件,这样,就可以在修改了哪个aspx网页(包括aspx和cs文件),只需要更新一个DLL文件就行了,不用整站全部更新。
1 允许更新此预编辑站点
选中这一项后,编译出来的包括aspx文件和dll,与2003下一样。
不选中这一项,编译出来的aspx中没有界面信息,只有一句静态文本,就是不允许发布后修改页面
为了不让订阅网站的用户在第一次打开页面时感受到明显的延迟,可以使用"完全预编译(full pre-compilation)"方式.
如果是想此编译方式具有最大的安全性,应去掉"允许更新此预编译站点(Allow this precompiled site to be
updateable". 这样代码文件(code,即cs文件)和内容文件(content file,即aspx)都会预编译
2 使用固定命名和单页程序集
会案照画面的类名编译出很多名字固定的dll。
3 对预编辑程序集启用强命名
在多数情况下,完全预编译方式正是所需要的方式,但是有时候因为内容文件变化不大,你可能希望在网站发布后,不用每次把所有的代码与内容文件全部编译,也许内容文件就不用再次编译,只需编译代码文件即可,这种情况下,就选中"允许更新此预编译站点",这种方式称为"只预编译代码文件(pre- compilation of code only)"方式.此方式与"完全预编译方式"相比较,只有一点区别,即内容文件仍是原始版本,而不是存根 (stub)版本,其它效果相同.在内容文件发布后也可以对其进行编辑,其变动在以后的请求到来时起作用,对于访问此站的用户来说是透明的.
附:
强命名(strong names) 如果一个assembly需要共享,则其必须使用强命名.一个强命名唯一标识了一个assembly.有四部分组成: 1,assembly名称(不包含文件扩展名);2,版本; 3,culture; 4 密钥对(即一个公钥和一个私钥),保存在key文件中,所以说 key文件就是同时包含了公钥和私钥的文件,在使用强命名时当然是需要此key文件的.创建key文件用命令: sn -k KeyPair.snk
延迟签名:显然,每个公司的私钥都必须非常安全地保存,然后这就带来一个进退两难的问题:在开发和测试一个共享的assembly时,需要使用强命名方式, 而创建强命名时肯定需要访问私钥的,但是又不能把公司的私钥提供给参与项目开发的且需要创建强命名的所有开发人员,怎么办? 这时就要用"延迟签名"技术.此种方式下,在创建强命名assembly时,只需要提供公钥,因为公钥提供给所有的人是允许的,也是安全的,利用公钥,开发人员可以进行程序的开发和测试工作,直到准备进行最终的build时,才同时使用公钥和私钥. 延迟签名需要从key文件中把公钥解出来,形成独立的公钥文件,通过使用命令: sn -p KeyPair.snk PublicKey.snk即可.这样,publicKey.snk只包含公钥,就可以用了.
出现问题
visual studio2005将网站开发和网站发布的目录分开,本身是个很好的设定
但每一次发布网站,网站dll文件都会生成随机的名字,页面继承的类都会继承随机的名字
这就造成了,哪怕是一点很小的修改,在发布网站之后,也必须重新上传所有的页面
如果采用“固定命名和单页程序集”的方式,又会生成太多dll文件,看着就心烦
解决方法
安装:
http://download.microsoft.com/download/9/4/9/9496adc4-574e-4043-bb70-bc841e27f13c/WebDeploymentSetup.msi
右键在当前解决方案里生成一个:Add Web Deployment Project 项目, 在该项目里就可以设置生成DLL的命名方式了,以后生成该项目就可以生成相应的网站!原有的发布网站的功能可以退休了!
参考微软原文
http://msdn.microsoft.com/en-us/library/aa479568.aspx
(Web
Deployment Project官方详细介绍)
http://msdn2.microsoft.com/en-us/asp.net/aa336619.aspx
使用WebDeployment Project改善VS2005发布网站问题
VS2005发布网站时不会像VS2003一样生成规则的DLL文件、而生成的DLL文件名含有随机数且不能一个项目生成一个DLL文件、让人有一些遗憾、为了做到像vs2003一样,微软发布了WebDeployment Project插件可解决此问题:
下载地址
1、下载后安装、右键选择vs2005中的项目、会出现一个选项"Add Web Deployment Project"
2、选择添加一个WebDeployment Project(输入程序集名称和发布地址)
3、此时解决方案中会多出一个项目
4、右键选择该项目设置相应属性
5、右键选择该项目选择“生成”、此时会发布网站到指定的目录、生成DLL文件同vs2003一样、更新时只需上传DLL文件
我运行发现这个错,
错误 1 “aspnet_merge.exe”已退出,代码为 1。 C:"Program
Files"MSBuild"Microsoft"WebDeployment"v8.0"Microsoft.WebDeployment.targets
574 9 DaishuSite
后来网上查了下。是类存在同名的缘故。
将VS 2005的工具-选项-项目和解决方案-生成并运行,设置“MSBuild 项目生成输出详细信息”,选择“详细”。再次生成Web Deployment Projects项目,“输出”框内的信息就变得非常丰富了;这样就可以查看哪里出错了
在Microsoft Visual Studio 2005和Microsoft Visual Studio 2008里发布网站,默认生成的DLL文件名是随机的,一般为App_Web_*******.DLL,这看起来多难受呀。我们将利用Web Deployment Projects 这个插件实现发布网站自定义DLL名。
Web Deployment Projects 有两个版本,分别针对2005和2008,下载地址如下:
Visual Studio 2005 Web
Deployment Projects
Visual Studio® 2008 Web
Deployment Projects - RTW
下载完对应文件后安装,如果你机器上装有2个版本的VS,可以同时把上面两个Web Deployment Projects 都安装了,不会冲突。然后在发布网站下面多出一个“Add Web Deployment Project”,在里面设置自定义的DLL文件名和生成目录,然后在解决方案资源管理器里会看到多了个项目,项目名为你设置的DLL文件名,右键“生成”就可以获得自定义的DLL文件。(在属性里有更多详细设置)
分享到:
相关推荐
ASP.NET中的配置和部署选项:一个数据库设计快速指南的附录。本书对于ASP.NET 2.0技术和Visual Studio 2005进行了全面讲解,出色地囊括了读者在实际编程中会用到的ASP.NET的重要特性,十分适合中级读者。
本文将从三个方面介绍该控件的实现方法:首先,介绍如何在 ASP.NET 项目中添加 Telerik 的 RadComboBox 控件;其次,介绍如何在后台绑定下拉框的数据源;最后,介绍如何实现下拉框的检索功能。 一、引用 dll 文件 ...
第三部分 构建ASP.NET网站 第15章 用户控件 15.1 用户控件基础 15.1.1 创建简单的用户控件 15.1.2 把页面转换成用户控件 15.2 为用户控件添加代码 15.2.1 处理事件 15.2.2 添加属性 15.2.3 使用...
ASP.NET网页一般由三部分组成,这三个部分如下所示。 q 可视元素:包括HTML,标记,服务器空间。 q 页面逻辑元素:包括事件处理程序和代码。 q designer.cs页文件:用来为页面的控件做初始化工作,一般只有ASP.NET...
第二部分 设计ASP.NET网站 第5章 使用母版页设计网站 160 5.1 创建母版页 160 5.1.1 创建默认内容 163 5.1.2 嵌套母版页 166 5.1.3 在母版页中使用图片和超链接 170 5.1.4 在Web配置文件中注册母版页 172 5.2 修改...
1、熟练掌握ASP.NET服务器控件的使用。 2、熟练掌握验证控件的使用。 二、实验内容 1、编写一个Web应用程序Login,该程序用于检查用户登录信息。当用户输入正确的用户名和密码时,显示登录成功的消息。否则,显示...
VS2010显示代码行数的方法是ASP.NET编程知识中一个非常重要的内容。作为一名专业的IT行业大师,我将详细地介绍VS2010显示代码行数的方法,并对相关知识点进行解释。 首先,让我们来了解为什么需要显示代码行数。...
学生业余生活调查系统asp.net源码,可以进行选择或自定义,暂没有管理后台。 (一)设计如下面的数据项和数据结构。 1、题目信息,包括的数据项有:编号,主题,票数。 2、选项信息,包括的数据项有:编号,选项...
第二部分 设计asp.net网站 第5章 使用母版页设计网站180 5.1 创建母版页180 5.1.1 创建默认内容183 5.1.2 嵌套母版页186 5.1.3 在母版页中使用图片和超链接191 5.1.4 在web配置文件中注册母版页193 5.2 修改母版页...
第三部分 构建ASP.NET网站 第15章 用户控件 520 15.1 用户控件基础 520 15.1.1 创建简单的用户控件 521 15.1.2 把页面转换成用户控件 522 15.2 为用户控件添加代码 523 15.2.1 处理事件 523 15.2.2 ...
第一部分 使用ASP.NET Web表单 <br>第1章 建立ASP.NET页面 <br>1.1 ASP.NET和.NET框架 1.1.1 .NET框架类库 1.1.2 理解名称空间 1.1.3 标准的ASP.NET名称空间 1.1.4 与.NET框架兼容的语言 ...
在 ASP.NET Core 中,我们可以使用 IOptions、IOptionsMonitor 和 IOptionsSnapshot 三个接口来访问 Options 对象。IOptions 是最基本的接口,提供了对 Options 对象的基本访问功能。IOptionsMonitor 提供了对 ...
.NET(ASP.NET)程序员面试题汇总 这份面试题汇总涵盖了ASP.NET、C#、.NET等领域的知识点,共25道题目,涵盖了面向对象编程、ASP...这些知识点涵盖了ASP.NET、C#、.NET等领域的知识,都是.NET程序员面试中常见的问题。
ASP.NET Core应用程序通常由模型、控制器、视图三部分组成。模型负责数据存储,控制器负责业务逻辑,视图负责用户界面。 6. IIS部署: ASP.NET Core应用程序可以部署到IIS服务器上,需要安装IIS服务器和ASP.NET ...
ASP.NET Framework带有三种HotSpot类:CircleHotSpot、RectangleHotSpot和PolygonHotSpot。这些类可以用来定义不同形状的热点区域。 在使用ImageMap控件时,需要为每个热点区域定义HotSpotMode属性及其相关属性。...
ASP.NET编程知识点汇总 本文档将从 ASP.NET 源程序编译为 DLL 文件并调用的实现过程中提取相关知识点,总结如下: 一、 ASP.NET 源程序编译为 DLL 文件 * 使用 csc 命令将 .cs 文件编译成 .dll 文件 * csc 命令的...
本书是关于使用ASP.NET建立网站的完整参考书,书中包含数百个代码示例,读者可以使用这些示例开始建立自己的网站 前言 <br/>第一部分 使用ASP.NET Web表单 <br/>第1章 建立ASP.NET页面 <br/>1.1 ...
2、选项信息,包括的数据项有:编号,选项编号,选项内容,票数。 (二)数据库概念结构设计 根据上面设计规划出的实体 (三)逻辑设计 基本表设计 将E-R图转化为关系模式。利用关系型数据库的特征,将系统设计为1...
一个多用户在线题库管理系统,可以实现各类试题的添加和管理,可以实现...系统实现三层架构开发(内附开发文档),利用了Asp.net2.0中的master、skin、gridview等控件,采用Sql2005数据库(DB下为数据库文件,附加即可)