搜尋此網誌

2023年3月28日 星期二

IIS Express 的 applicationhost.config

緣起:


    昨天在看公司 git 的 commit 紀錄時,注意到我分支,之前 commit 一個紀錄時,有把一個叫 applicationhost.config 的檔案也送上去,然後這個檔案在後來其它人的 commit 中被刪掉。然後從昨天開始,我的 Visual Studio 就一直沒辦法跑專案,然後每次跑,專案/Source/.vs/Source/config 下就一直會自動生成那個 applicationhost.config 檔,我以為這不是正常的現像,所以一直想辦法要把它給刪掉。有時 reset 到前面一個分支,然後再抓最新版的下來,它就又能跑了,我不知道是出了啥問題。


    今天問了問我們比較資深的工程師,他說,會生成那個檔案是正常的,它主要是跟 iis 有關的設定,只要在 commit 時忽略那個檔案就行。如果 applicationhost.config 出了什麼問題,你只要先關掉 Visual Studio,把 "專案/Source" 下的 .vs 資料整個刪除,然後再開啟專案就行,Visual Studio 就會依據你目前的專案自動生出 .vs 資料夾來。

    我在找問題的過程中學到一些有關 IIS Express 的知識,所以想記錄下來。


Applicationhost.config:


    預設的 Applicationhost.config 檔可以在自己電腦的 文件->IISExpress/config 那邊找到,不然也可以去 C:\Program Files\IIS Express\config\templates\PersonalWebServer 那邊找。

    我找文章時,看到跟 Applicationhost.config 有關的有這兩篇。


IIS Express 啟動程式:


    可以透過 cmd 來執行 IIS Express,我看這篇文章學到的。

    我開了一個新的 asp webform project 來做測試,裡頭的程式碼都沒動。


    run 網頁....


    可以右鍵點擊 iis express 的 icon,選擇顯示所有應用程式


    可以看到執行的應用程式的路徑跟組態,那個組態就是使用的 Applicationhost.config,預設會在專案的 .vs 裡,就是那個一開始被我認為是不正常出現的檔案。


    如果想透過 cmd 指令來讓 IIS Express 啟動我們的應用程式,可以去 C:\Program Files\IIS Express 裡開啟 cmd,然後用 iisexpress.exe /path:{路徑},像那個測試專案的話是

iisexpress.exe /path:D:\VisualStudio\C#\ASP\WebApplication1\WebApplication1

    成功 run 起來



    那個 applicationhost.config 裡比較重要的就 sites 部份


    要新增網站的話都是加 site,官方文件

    如果想用其它的設定檔跑網站的話,可以用 /config:{路徑} 然後再用 /site:{網站名稱} 指定要跑的是哪個網站。

沒有留言:

張貼留言