转自:•牛奶糖的生活♡ 百度空间,原文地址:http://hi.baidu.com/%D6%D0%B9%FA%D7%BF%C3%E2%B7%D1%C8%CB%B2%C5%CD%F8/blog/item/d356c9d38fb27cd4a8ec9a5e.html
项目做完需要把整个项目传到空间中。由于VS05改变了以往03的发布“习惯”。本人在实践中也遇到了不少问题,先把问题分析出来供以后学习参考。
我想发布网站最需要注意的地方就是生成DLL文件了,并且要像VS03中那样方便以后维护。VS05生成DLL有三种方法;
一、使用VS自带的“发布网站”功能。
第一步:
第二步:
剩下的就是把这些文件全部传到空间中即可。这里需要注意的是发布网站的时候需要把项目中的数据库停用,这样才可以发布。使用这种方法在以后维护网站的时候不是非常方便。系统会在BIN文件夹下随机生成很多DLL文件,如果用过VS03的朋友就会知道,以后维护起来非常费事。那就接着往下看吧,另一种发布的方法。
二、利用微软出的插件WebDeployment生成单一程序集(一个DLL文件)
没有插件的朋友自己到网上找吧,这里就不提供下载地址了。在装好插件之后VS05菜单的生成中会多了一个选项Add Web Deployment Projiect或者直接在项目中鼠标点击右键也会看到 如下面两幅图
第一步:点击Add Web Deployment Project选项出现如图所示
Name是生成程序集(DLL文件)的名称;Location是发布位置(这里要注意目录不能选择当前项目目录),选好之后点击OK,这时您的项目中就会多了一个以刚才Name命名的解决方案jinwb,如图:
第二步:鼠标右击该解决方案,选择【属性页】 弹出如图选项
找到OutPut Assemblies 选项卡;选择Merge all outputs to a single assembly 并勾选下面的 Treat as library component(remove the App_Code.compiled file) 或者选择Merge all pages and control outputs to a single assembly 为程序集起好名,其他不做修改,点击确定
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文件建立强命名空间的程序集
第三步:点击新增项目的生成。如图:
余下的工作就是等待系统生成了。生成好之后你会在先前选择发布位置中看到含有自己命名的程序集(一个DLL文件)的项目。其中的CS文件已经没有了。这时你可以吧这些文件传到空间中了。像VS03一样,以后维护网站的时候重复上述步骤,只传递DLL文件即可。(注意一下:生成网站的时候如果项目中存在数据库的话,要停止数据库服务才能发布成功)
接下来说说用这种方法遇到的几个问题;
再发布网站之后我想在本机进行测试一下,我先删除了生成之前的项目。然后把生成后的文件拖到了删除之后项目的文件夹,打开VS05 提示如图:
这里点击“是”就行了,原因是你所打开的项目已经编译过了。设置好起始页之后F5运行提示:已预编译此应用程序,解决方法是把文件中的 PrecompiledApp.config删除即可。再次运行又出现错误。提示错Cannot find any assemblies that can be merged in the application bin folder. 解决方法是删除发布网站时候生成的项目即可解决
三、升级VS05到SP1 新建项目中会有Web Application Project 这种是微软后增加的网站开发模式。与Web Site Project不同,这种模式也可以生成单一程序集。这里就不在说明了。大家可以试一下。不过具网上有人说这种模式不是非常好。
分享到:
相关推荐
eclipse在安装完成后,使用过程中会遇到的问题,供大家参考,如日志打印乱码、文件编码问题,tomcat发布工程配置,这些问题是开发前的必要配置与准备,否则开发过程中会遇到各种头疼的问题
最近用VS2005做项目,遇到一个工程中有很多文件的编码不统一,有的是UTF-8,有的是GB32的,发布网站时就乱七八糟的。可以通过VS环境中的“高级保存选项”一个一个地改过来,因实在太多,好几十个,重复工作是非常令...
C#向服务器上发布代码过程及几个常见问题解决方案,这是本人在发布过程中遇到问题边解决边总结下来的,分享给大家学习交流使用
o 4.12 我需要根据条件把一个复杂的表达式赋值给两个变量中的一个。可以用下边这样的代码吗? ((condition) ? a : b) = complicated_expression; * 5. 指针 o 5.1 我想声明一个指针并为它分配一些空间, 但却...
很多人在将sliverlight和WCF程序向IIS上发布时遇到问题不知道如何解决,在此特将几个常见的问题总结一下:silverlight及WCF在IIS上发布技巧
中小企业的情况千差万别,自然对新闻发布系统的要求也不尽相同,所以选择合适的新闻发布系统是一个复杂的工程,上述几个方面显然不能涵盖企业在选型中所需要注意的事项,但原则上一定多费力多试用多比较,不要盲目...
1、几个月前我发布过一篇关于Unity的串口通信问题,只是阐述了问题,但是没有什么好的解决方案。经过我几个对串口相关的Unity项目开发,也发现了几种解决方案。开发中遇到的一些问题都详细的描述出来。 2、在上一篇...
前言 ...公司项目之前support Library 版本比较混乱,各moudle有好几个版本的v7包和v4包,而且版本还比较低,今天抽时间统一了下支持库以及buildToolsVersion等的版本,但是遇到了两个问题,记录一下。
最近负责几个地市新医保的开发,过程中遇到一些问题,就将这些问题的解决方案写成了demo,本来是想只是供自己记录所用,但后来发现好多伙伴或多或少遇到这些问题,这些问题或许前面的前辈们都有发布或写有dll来提供...
如上所述,我们遇到了几个问题,这些问题使我们无法将其作为完整的一组转换发布。 包版广告 我们遇到的第一个问题是,某些州要求您为针对数据库的每次查询付费。 如果将这种转换托管在服务器上,我们将无法负担每个...
1、自己一路走来,关于STM32最小系统驱动舵机遇到了太多技术壁垒,自己攻克这个问题之后成功实现了将STM32F103C8T6四个定时器全部用来驱动舵机且 0错误0警告,在我实际测试过程中完全可以达到预期效果。现在由我整理...
中,如果不关心a[]的哪一个分量会被写入,这段代码就没有问题,i也的确会增加1,对吗? 3.11 人们总是说i=i++的行为是未定义的。可我刚刚在一个ANSI编译器上尝试过,其结果正如我所期望的。 3.12 我不想学习那些...
《你必须知道的495个C语言问题》以问答的形式组织内容,讨论了学习或使用C语言的过程中经常遇到的一些问题。书中列出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预...
2.6 我遇到这样声明结构的代码: struct name f int namelen; char namestr[1];g; 然后又使用一些内存分配技巧使namestr 数组用起 来好像有多个元素。这样合法和可移植吗? . . . . . . . . . . . . 8 2.7 是否有自动...
1.修正了安装程序遇到只读类文件时操作失败等用户们反映的几个小BUG。 发布版本:V5.6 发布日期:2008-5-7 1.修正之前旧版本制作的安装包仍有些国产杀毒软件误报有木马的问题。 2.软件安装包数字签名兼容性改造。...
ChatGPT已经发布几个月的时间了,这几个月,有关它的话题源源不断,几乎每天都能看到它上热搜。这并不是炒作,它的用户已经突破一亿,成为史上“破亿”用时最短的网络应用。无数人现身说法,谈到ChatGPT帮助他们解决...
web程序发布IIS时遇到的几个常见问题简单笔记。如:未能加载文件或程序集 Microsoft.Web.Infrastructure;HTTP 错误 500.21 - Internal Server Error;无法读取配置节“protocolMapping”等
”,另一个是“梅西在阿根廷国家队进了几个球?”,这两个问题都没有得到满意的回答。在回答第一个问题是,“360版GPT”给出了多个不同的回答,但这些答案几乎都来自网络搜索回答,即便是不准确,似乎也能理解。但在...