解决发布网站生成随机dll的影响程序更新的问题(合并多个dll)

我目前使用的开发工具是VS2010所以需要安装2010版本的Visual Studio® 2010 Web Deployment Projects

下载地址为:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=19995

安装完成后重新启动VS2010,在“生成”和WEB项目的菜单内会看到“Add Web Deployment Project…”。

然后在解决方案中选择你的发布的网站,右键,添加一个Web Deployment Project项目,起一个名称,这个名称就是

将来编译后生成的程序集名称,默认的名称“当前项目名称_deploy”,这样操作后项目解决方案中会多一个项目当前项目名称_deploy,然后我们对当前项目名称_deploy进行操作就可以达了。

右键打开当前项目名称_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-所有输出都编译成一个程序集(参数:程序集名称)
    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-所有输出都编译成一个程序集(参数:程序集名称)”(我设置的是当前项目名称_deploy)和“1.1  Treat as library component (remove the App_Code.compiled file)-App_Code视为类库(删除App_Code.compiled文件)”(这个对勾要打上)。

选择【项目名称_deploy】生成或生成部署包(注:我在32位windows7上出现了问题,64位windows7生成成功,并且将随机的多个dll合并成了一个dll)

这就解决了网站发布更新的问题,而不必将网站转换成web应用程序。

原文地址:https://www.cnblogs.com/AlexCheng/p/2119985.html