如何发布.Net MVC 网站项目(攻略集锦)
轉(zhuǎn)載自詩人江湖老,原文地址
| 參考文獻 |
既然是攻略,就必然有參考文獻,放在文章開頭,以示敬意!
1.MVC項目發(fā)布步驟
2.未能從程序集加載“System.ServiceModel.Activation.HttpModule”
3. Win7 IIS 另一個程序正在使用此文件,進程無法訪問
4.HTTP 錯誤 500.19 - Internal Server Error
| 1.發(fā)布MVC 網(wǎng)站 |
1.1.開始發(fā)布
打開你的MVC網(wǎng)站項目,右鍵點擊項目,選擇重新生成一下網(wǎng)站項目;再次點擊右鍵->發(fā)布:
1.2.創(chuàng)建配置文件
彈出網(wǎng)站發(fā)布設(shè)置面板,點擊自定義,創(chuàng)建新的發(fā)布配置文件:
輸入你自己定義的配置文件名(這里隨便輸入):
1.3.選擇連接方式
在發(fā)布方法中選“文件系統(tǒng)”,這樣我們可以發(fā)布到自己指定的本機文件上:
選擇自己指定的文件夾:通過點擊下圖中右上角紅色箭頭處創(chuàng)建新的文件夾,自定義命名(我的就寫WebSite)。點擊打開,進入下一步
1.4.設(shè)置發(fā)布模式
在配置中,要選擇“Release”。
——發(fā)布模式(Release 稱為發(fā)布版本,它往往是進行了各種優(yōu)化,使得程序在代碼大小和運行速度上都是最優(yōu)的,以便用戶很好地使用。Debug 通常稱為調(diào)試版本,它包含調(diào)試信息,并且不作任何優(yōu)化,便于程序員調(diào)試程序)
1.5.確定發(fā)布
點擊下一步:進入發(fā)布前的預(yù)覽界面。
點擊發(fā)布即可以發(fā)布你指定的文件夾中,這里,我發(fā)布的是C盤下的WebSite文件夾中。
| 2.將網(wǎng)站放入IIS服務(wù)器 |
2.1.新建IIS網(wǎng)站
通過->控制面板->管理工具->啟動 ‘Internet信息服務(wù)(IIS)管理器’ 進入IIS界面。右鍵單擊網(wǎng)站->添加網(wǎng)站
下面圖中,左邊紅色方框內(nèi)輸入自定義的網(wǎng)站名稱(請盡量用英文,這里我就寫MyPhotoSite),右邊紅色箭頭處需要點擊 ‘選擇(E)…’ 進行更改(也可以不更改,我就沒有更改)。
2.2選擇物理路徑
選擇 “已發(fā)布網(wǎng)站文件夾” 的物理路徑,找到之前發(fā)布MVC網(wǎng)站的文件夾。
2.3綁定IP地址
點擊下拉列表選擇 “自己當(dāng)前的IP地址”
點擊確定,OK,搭建完畢!
| 3.注冊IIS服務(wù)器 |
3.1打開注冊命令器
先在程序菜單->VS2012里面->Visual Studio Tools->VS2012開發(fā)人員命令提示。右鍵單擊 “VS2012開發(fā)人員命令提示”。以管理員身份運行。(如果不是以管理員身份運行,將會提示“權(quán)限不足”錯誤)
3.2運行注冊命令
輸入命令:aspnet_regiis -i 按回車。等待運行大概 1分鐘左右提示安裝完畢(我的機子慢所以提供1分鐘供大家參考,大家不要著急慢慢等待安裝完成即可)。
| 4.常見問題集錦 |
4.1未能從程序集加載“System.ServiceModel.Activation.HttpModule”
完整報錯信息:
未能從程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加載類型“System.ServiceModel.Activation.HttpModule”
解決方法:
在命令行中運行下面的命令:
| C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i -enable |
如果提示如下:
則可先執(zhí)行下面的命令:
| C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe -ua |
然后到控制面板->程序->啟用或關(guān)閉Windows功能,如下圖所示,將需要的WCF服務(wù)勾選上就好了。
4.2Win7 IIS 另一個程序正在使用此文件,進程無法訪問
問題1:用VS2010打開原來用VS2012創(chuàng)建的Webservice項目,提示創(chuàng)建虛擬目錄失敗
問題2:直接啟動IIS,無法啟動,提示“另一個程序正在使用此文件,進程無法訪問”
原因:80端口被占用
解決辦法:停止占用80端口的程序(服務(wù))
解決步驟:
1、cmd中運行netstat -ano 查看全部占用端口的程序(服務(wù)),參數(shù)o代表顯示進程PID
2、在顯示結(jié)果的第一列里找到占用80端口的進程,我這里是第一行 :本地地址 0.0.0.0:80 。如果cmd中不能顯示全部信息,可以在cmd窗口的上方右鍵—屬性,修改命令記錄緩沖區(qū)大小和屏幕緩沖區(qū)大小高度。
3、在任務(wù)管理器里的服務(wù)標(biāo)簽頁中找到PID對應(yīng)的服務(wù),我這是Apach,也不知道裝什么軟件裝上的,這就很自然能夠解釋為什么也占用80端口了
4、在管理工具–服務(wù)中直接禁用Apach的服務(wù)。
IIS可以正常啟動,問題2解決。
但問題1沒有解決,仍然報錯:創(chuàng)建虛擬目錄失敗 錯誤:在本地計算機行,未能找到服務(wù)器 只有本地IIS服務(wù)器支持創(chuàng)建虛擬目錄
用VS2010創(chuàng)建新的web應(yīng)用程序,一切正常可以運行,說明問題不在VS2010本身。
用記事本打開webservice項目的csproj文件,刪除其中“http://localhost:2727/”行,保存后,用VS2010可以正常打開,并運行。問題1解決。
4.3HTTP 錯誤 500.19 - Internal Server Error
windows 2008下IIS7 安裝ASP.NET 遇到如下錯誤:
HTTP 錯誤 500.19 - Internal Server Error
無法訪問請求的頁面,因為該頁的相關(guān)配置數(shù)據(jù)無效。
詳細錯誤信息模塊 IIS Web Core
通知 BeginRequest
處理程序 尚未確定
錯誤代碼 0x80070021
配置錯誤 不能在此路徑中使用此配置節(jié)。如果在父級別上鎖定了該節(jié),便會出現(xiàn)這種情況。鎖定是默認設(shè)置的(overrideModeDefault=”Deny”),或者是通過包含 overrideMode=”Deny” 或舊有的 allowOverride=”false” 的位置標(biāo)記明確設(shè)置的。
配置源
219: <add name=”ScriptModule” preCondition=”managedHandler” type=”System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35”/></modules>
220: <handlers>
221: <remove name=”WebServiceHandlerFactory-Integrated”/>
解決方法:
控制面板–>程序和功能–>打開或關(guān)閉windows功能–>角色
的這里,如果還未安裝“web服務(wù)器(IIS)”,則選擇“添加”。
如果已經(jīng)安裝了,則選擇“web服務(wù)器(IIS)”–>添加角色服務(wù)。
選擇“應(yīng)用程序開發(fā)(已安裝)”–>“ASP.NET”。
另其他類似錯誤一:
HTTP Error 500.19 - Internal Server Error
配置錯誤: 不能在此路徑中使用此配置節(jié)。如果在父級別上鎖定了該節(jié),便會出現(xiàn)這種情況。鎖定是默認設(shè)置的 (overrideModeDefault=”Deny”),或者是通過包含 overrideMode=”Deny” 或舊有的 allowOverride=”false” 的位置標(biāo)記明確設(shè)置的。
出現(xiàn)這個錯誤是因為 IIS 7 采用了更安全的 web.config 管理機制,默認情況下會鎖住配置項不允許更改。要取消鎖定可以運行命令行 %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 。其中的 handlers 是錯誤信息中紅字顯示的節(jié)點名稱。
如果modules也被鎖定,可以運行%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules
另外,如果使用Asp.net的朋友,在安裝IIS7的時候一定記得勾選Asp.net,默認不選,也會出現(xiàn)類似的錯誤信息
另其他類似錯誤二:
HTTP 錯誤 500.19 - Internal Server Error
無法訪問請求的頁面,因為該頁的相關(guān)配置數(shù)據(jù)無效。
詳細錯誤信息模塊 IIS Web Core
通知 BeginRequest
處理程序 尚未確定
錯誤代碼 0x80070005
配置錯誤 由于權(quán)限不足而無法讀取配置文件
原文件夾,右擊選擇它的屬性,打開“安全”選項卡,看到“組或用戶 名”,單擊“編輯”按鈕添加一個新的用戶名“Everyone”,然后更改它的權(quán)限,將第二個權(quán)限“修改”設(shè)置為允許就可以了。
總結(jié)
以上是生活随笔為你收集整理的如何发布.Net MVC 网站项目(攻略集锦)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用NCO 3.0 调用SAP中的函数
- 下一篇: C#实现 Linq 序列的Distinc