網站和項目的發佈問題

例如:

VS2008 在发布网站时,bin 目录里为所有 cs 生成的 dll 文件每次都是随机命名的,像这样子的 App_Web_g2dnx-qj.dll, App_Web_s9nor8mv.dll,这样对更新 Live 站点很不方便,因为动态库名变了,涉及到每一个 aspx 文件每次都重新更改了对库的引用声明:

<%@ page language="C#"
inherits="_Default, App_Web_s9nor8mv" %>

即使有一个 cs 的小改动,由于生成的动态库名称不一样,造成所有的 aspx
文件都得重传一遍。如果能固定动态库的文件名,更新网站时就省事多了,只改了 cs 的话,重新生成 dll 文件,只需要替换这一个 dll
文件就 OK 啦。我们可以找到几种做法:

1. 在“发布网站”的选项中,勾选“使用固定命名和单页程序集”,每个页面对应的一个 dll,并且这个 dll
文件名是固定的(名字虽然看起来很随便),只要 aspx 文件名没变。这会生成大量的 dll
文件,实际应用中还没看到可取之处。

2. Web Deployment Projects with Visual Studio
2008下载地址:
http://download.microsoft.com/download/0/5/b/05b4424b-5b9b-4961-8ec6-91e9f1741b2d/WebDeploymentSetup.msi,安装文件十分小,
686K。

简单操作如下:

1) 下载后直接安装,安装完后打开VS2008;

2) 在[生成]->[发布网站]下面会多出一项[Add Web Deployment Project],
也可在要发布的网站项目上点右键.直接选取[Add Web Deployment Project],弹出属性对话框后.
设置好指定名称(如 WebSite1_deploy)和存放目录(c:\target), 添加后,
以看到当前解决方案中多了一项( WebSite1_deploy), WebSite1_deploy
有很多其它属性可以设置,其中有一重要的默认选项:

Merge all outputs to a single assembly

Assembly name: 是 WebSite1_deploy.

3) 在刚添加的方案中点右键->[生成], 或者是对 WebSite1_deploy 进行 Build
都会在前面指定的目录(c:\target) 中生成可发布的文件的目录了。进到 c:\target 目录中,翻一下你就会发现你的 Web
项目中所有的 cs 文件,包括 aspx 关联的和 App_Code 中的 css 文件都编译到
WebSite1_deploy.dll 文件中去了。aspx 文件的头部是:

<%@ page language="C#"
inherits="Default, WebSite1_deploy" %>

只要 WebSite1_deploy.dll 文件名是固定的,aspx 的声明部分也总是不变的,所以每次只是对 cs
文件的修改补,只需换个 WebSite1_deploy.dll 文件就行啦。

相比于第二、三种方法,只需一次设置,用不着每建一个 aspx 文件对代码文件进行搬动,还得改改 aspx 文件的声明部分,而且对于
Web Site 也能构建出 DEBUG
的版本出来,所以这应该是终极的。

1、首先下载WebDeploymentSetup.msi (单击可下载)下载地址:http://pan.baidu.com/share/link?shareid=547386&uk=486628598

2、安装完以后重新启动vs,右键单击项目出现如下图所示

3、选择Add Web Deployment Project 出现如下图所示

4、单击 ok 项目中多出一个文件 如下图

5、在上图的项目上单击右键 选择生成 就可以了

6、发布以后所有的web dll文件将会编译成一个dll文件

时间: 2024-10-11 16:15:32

網站和項目的發佈問題的相关文章

VS 中關於附加到進程中調試 的問題。

在使用Vs 2012 時,項目發佈到Local IIS 中,如果在調試某個頁面中時,都要F5--> Login --> Debug 很繁瑣,下列有一種較快捷的方式,能夠更快的調試代碼. 1. IIS中設置: 如上圖,在IIS 中找到發佈的項目,右鍵-->管理應用程序--> 高級設置-->物理路徑憑證-->選擇特定用戶,然後設置賬戶密碼,此處用的是Windows Administrator 賬號. 2. 第1點設置之後,便可在VS 中添加斷點,然後調試-->附加到進

【VMware Workstation Pro】 DHCP引起的IP獲取問題

其實我的服務器已經設置了固定IP地址,但是總會看到這個這個煩人的(169.X.X.X,如圖所示) ,而且直接影響我的使用情況.最初,我以為是我的Windows Server的問題,但是結果告訴我不是. 啟用AD服務的時候,並未留意到這個情況,結果下面的機器全部都無法加域,OMG. 網絡設置也會看到 嘗試Windows網絡重置,但是我發現這個功能根本沒用. 後來搜索的時候,人家說是DHCP服務器的問題,問題是我沒有DHCP服務器. 人家還說可以使用這個命令,結果告訴我都是沒用 想來想去,我以為是驅

網站優化遇到最常見的其中一個問題

就是遲遲都未有排名阿! 到底是什麼原因導致的呢? #1 robots.txt文件 Robots .txt文件對網站優化前期至關重要,設置得好網站優化排名周期縮短,弄得不好,連網站收錄都成問題.例如許多網站上線或者改版之後,常常會在百度快照上看到這樣的一句話“由於該網站的robots.txt文件存在限制指令,系統無法提供該頁面的內容描述”一般都不懂的新手們,都會以為搜索引擎抓取出問題了吧,怎麼搞的.其實,這明顯就是因為網站robots文件屏蔽操作導致的,對於這種情況,網站不收錄完全就是正常情況.

[SharePoint 2010] 如何安裝啟用多國語系支援的SharePoint網站

SharePoint 2010的多國語系支援與前一版的SharePoint 2007有所不同,SharePoint 2010內允許使用者自行決定使用介面語系的選擇. SharePoint 2010的多國語系支援與前一版的SharePoint 2007有所不同,SharePoint 2010內允許使用者自行決定使用介面語系的選擇.然而SharePoint 2010並不是裝起來就支援一大堆的語系.要是這樣,安裝完的系統一定胖到令人受不了.所以在安裝完SharePoint 2010後,我們可以著手開始

[SharePoint 2010] 如何在小組網站內頁面上撥放影片或是音效檔

在SharePoint 2010中, 我們可以像是Youtube一樣在網頁上撥放影片或是音效檔案. 影片或音效是採取串流的方式來撥放. 也就是說我們不需要把整個檔案都下載回來才開始撥放. 點選沒多久我們就能夠看到影片或是聽到音效聲音. 在SharePoint 2010中, 我們可以像是Youtube一樣在網頁上撥放影片或是音效檔案. 影片或音效是採取串流的方式來撥放. 也就是說我們不需要把整個檔案都下載回來才開始撥放. 點選沒多久我們就能夠看到影片或是聽到音效聲音. 然而, 我們預設在小組網站上

何解決 LinqToExcel 發生「無法載入檔案或組件」問題何解決 LinqToExcel 發生「無法載入檔案或組件」問題

在自己的主機上透過 Visual Studio 2013 與 IISExpress 開發與測試都還正常,但只要部署到測試機或正式機,就是沒辦法順利執行,卡關許久之後找我協助.我發現錯誤訊息確實很「一般」,訊息是:「 無法載入檔案或組件 'LinqToExcel' 或其相依性的其中之一. 試圖載入格式錯誤的程式. 」或是英文版的「 Could not load file or assembly 'LinqToExcel' or one of its dependencies. An attempt

問題排查:行動裝置網頁前端 UI 設計 (1)

這是最近開始接手的一個微信公眾平台專案, 在重整後端程式碼時,因為也需要透過前端來看效果, 所以就因此在前端的部分遇到了不少問題, 畢竟這是以前沒接觸過的領域 (早年的網頁應用程式開發沒有那麼多分工) 經初步探索,得知此案似乎採用了 Intel 的 App Framework 套件, 大致上看一遍官網的簡介之後,就下載了最新版本 3.0 來玩玩看 然後就拿了一個有資料分頁的來嘗試 這不玩還好,一玩就捅了好幾個馬蜂窩等著我去收拾 頁面結構如下: <div class="view"

解決Spring的定時器如何獲取項目的部署路徑

最近在寫項目的時候遇到在Spring的定時器下需要用到項目路徑的,但是在定時器中,沒法獲取request或者session不能直接調用他的方法直接獲得,那麼怎麼解決這樣的問題呢?其實還是有辦法的,正所謂條條道路通羅馬,spring這麼強大怎麼可能被這點小事給整過去. 我舉個例子吧,加入我們需要些這麼個定時器,他的需求如下:每天進行一次項目生成的一次性的文件進行刪除 那麼定時器代碼如下: package com.smartsoft.quartz; import java.io.File; impo

asp.net網站管理工具

现在的问题是任何用户都可以通过StoreManager控制器来访问我们的书籍管理页面.接下来让我们添加权限设置,限定只有管理员可以访问该页面. 7.1 追加Account(帐户)控制器及视图 在ASP.NET MVC 3中,一个完整的的Web应用程序模板与空的Web应用程序模板的区别之一就是空的模板中不包括Account(帐户,或者说用户)控制器.我们的做法是 任意新建一个具有完整的ASP.NET MVC3 Web应用程序模板的应用程序,然后从中拷贝一些文件过来. 任意创建一个具有完整模板的AS