`

ASP.NET发布网站解决方案

    博客分类:
  • C#
阅读更多

对于想了解发布网站那些选项的人来说这个文章是不错的,当然这个文章不是我写的。
  
第一个选项指定发布后是不是可以修改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://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项目,“输出”框内的信息就变得非常丰富了;这样就可以查看哪里出错了

  • 大小: 16.3 KB
  • 大小: 15.1 KB
  • 大小: 9.2 KB
  • 大小: 53.6 KB
  • 大小: 4 KB
分享到:
评论

相关推荐

    Microsoft.NET Server企业解决方案

    【Microsoft.NET Server企业解决方案】 微软的.NET Server是其在2000年代初期推出的一款服务器操作系统,主要面向企业级市场,旨在提供强大的网络服务、应用程序托管和管理功能。这一平台的构建基于.NET Framework...

    Asp.Net 源码+解决方案

    Asp.Net 是微软开发的一种基于.NET Framework的服务器端编程模型,用于构建动态网站、Web应用程序和Web服务。这个源码和解决方案的包可能是为开发者提供一个完整的项目实例,以便学习、研究或者直接应用到自己的开发...

    ASP.NET常见错误及解决方案

    本文将深入探讨一些常见的ASP.NET错误及其解决方案。 1. **编译错误**:当代码中存在语法错误或类型匹配错误时,ASP.NET在编译期间会抛出错误。解决方法通常是检查代码的拼写、括号匹配、变量声明以及方法调用等,...

    ASP.NET多语言解决方案示例

    ASP.NET多语言解决方案示例是针对开发者设计的,旨在帮助他们构建支持多种语言的Web应用程序。这个示例项目展示了如何在.NET框架下,利用ASP.NET技术实现一个灵活且高效的多语言系统。对于初学者或者对多语言支持不...

    使用Microsoft+.NET的企业解决方案模式.chm

    书中可能详细讨论了如何使用ASP.NET技术来构建Web应用程序,包括MVC(模型-视图-控制器)架构、WebAPI和SignalR等。MVC模式分离了业务逻辑、用户界面和数据,提高了代码的可读性和可测试性。WebAPI用于构建RESTful...

    asp.net网站发布步骤

    当我们谈论“ASP.NET网站发布”时,我们通常指的是将一个在本地开发环境中创建的ASP.NET应用程序部署到IIS(Internet Information Services)服务器上,使得全球用户可以通过互联网访问。以下是详细的ASP.NET网站...

    Asp.net通用OA系统

    Asp.net通用OA系统

    ASP.NET商务网站

    它集成了.NET Framework的强大功能,提供了一种高效、安全且可扩展的平台,用于开发各种类型的互联网解决方案,包括商务网站。 在ASP.NET商务网站的建设中,有几个关键知识点是不可或缺的: 1. **页面生命周期**:...

    asp.net手机网站

    在移动互联网飞速发展的今天,ASP.NET也逐渐发展出了针对手机平台的解决方案,使得开发者能够创建适应不同移动设备的网页应用。 在标题“asp.net手机网站”中,我们主要讨论的是如何使用ASP.NET技术来构建适合手机...

    asp.net组件工具包vb.net web解决方案

    ASP.NET为广大.NET开发人员提供了一种优秀的体系结构,使他们可以通过模块组件来构建自己的Web站点。本书重点讲述了一系列可重用的ASP.NET组件,可以直接使用或经过少理修改后使用这些组件,从而为自己的ASP.NET Web...

    【ASP.NET编程知识】asp.net单文件带进度条上传的解决方案.docx

    ASP.NET单文件带进度条上传解决方案 本文主要讲述了ASP.NET单文件带进度条上传的解决方案,通过使用jquery框架和ASP.NET缓存机制,实现了文件上传和进度条显示的功能。 知识点1:使用jquery框架实现文件上传 在...

    asp.net文件上传解决方案共5页.pdf.zip

    本解决方案将详细介绍如何在ASP.NET环境中实现文件上传功能,并提供一套五页的PDF文档作为详细指导。在这个过程中,我们将讨论关键知识点,包括HTTP协议、控件使用、服务器端处理以及安全考虑。 1. **HTTP协议与...

    ASP.NET旅游网站

    【文件名称列表】中的"旅游网站asp"可能指的是ASP.NET项目的主程序文件或解决方案文件,包含了网站的各个部分,如.aspx页面、.cs后台代码文件、.ascx用户控件、配置文件(如web.config)等。这些文件共同构成了一个...

    使用 Microsoft .NET 的企业解决方案模式

    本文将深入探讨如何利用.NET框架中的各种设计模式来构建企业解决方案。 首先,我们需要理解什么是设计模式。设计模式是在特定情境下,为解决常见软件设计问题而形成的一种经过验证的、通用的解决方案模板。它们是...

    asp.net动态网站开发实例与操作源码

    ASP.NET是微软公司推出的一种用于构建动态网站、Web应用程序和服务的框架。它基于.NET Framework,提供了丰富的功能和高效性能,让开发者能够用C#或VB.NET等编程语言编写Web应用程序。在"asp.net动态网站开发实例与...

    ASP.NET信息发布系统

    【ASP.NET信息发布系统】是一种基于ASP.NET技术的网络应用程序,用于在线发布和管理各类信息。...在实际工作中,ASP.NET信息发布系统可以应用于新闻网站、公告板、论坛等需要在线发布和管理信息的场景。

    asp.net三层架构解决方案

    总之,ASP.NET三层架构解决方案是提高软件质量的关键方法之一,通过合理划分职责,降低了代码的耦合度,提升了系统的灵活性。通过深入研究和实践这个实例,你将能够更好地掌握ASP.NET应用程序的开发技巧,并为未来更...

    Asp.net远程视频会议解决方案下载

    Asp.net远程视频会议解决方案是一种基于B/S架构的通信平台,它通过网页插件的方式提供了丰富的功能,包括语音、视频、文字交流、桌面共享以及文件传输。该解决方案使用C/C++编写轻巧灵活的ActiveX客户端,利用Unix ...

    asp.net 企业网站完整后台 源码

    - `企业网站1.sln`:这是一个Visual Studio解决方案文件,用于组织项目及其依赖关系。打开此文件,开发者可以在Visual Studio环境中查看和管理项目的所有组件。 - `企业网站1.v11.suo`:这是Visual Studio的用户选项...

    基于asp.net购物网站.rar

    综合以上,基于asp.net的购物网站项目是一个涵盖了前后端完整功能的电子商务解决方案。开发者可以通过学习和研究这个项目,了解asp.net如何应用于实际的商业场景,同时也能掌握如何构建一个安全、稳定且用户体验良好...

Global site tag (gtag.js) - Google Analytics