2013-05-22 123 views
1

我試圖從Visual Studio 2012部署一個網站,但它似乎無法正常工作,只要我使用項目中的「發佈」將其部署到本地IIS服務器上下文菜單。但是,當我使用「CTRL + F5」構建並將其部署到IIS Express時,它的構建和工作正常。未在本地主機上正確部署ASP.Net mvc網站

首先,它只複製一些圖像。唯一的區別是,沒有被顯示的圖像是這樣定義的背景圖片:

<style type="text/css"> 
    body { 
     padding-top: 40px; 
     padding-bottom: 40px; 
     background-color: #f5f5f5; 
     background-image: url('~/Images/bg.jpg'); 
     background-size: cover; 
    } 
</style> 

而顯示這樣定義的圖片:

<img src="~/Images/smallLogo.png"/> 

我驗證過的所有圖片都有相同的屬性,他們都在我的項目中的同一個文件夾中。爲了測試這個,我將屬性設置爲「Build Action:Resource」和「Copy to output directory:Copy always」。

現在,我的問題的第二部分。當我將它部署到我的IIS服務器時,它會顯示我的第一頁,在這種情況下,它是一個登錄頁面,很好(除了背景圖像)。但是,每當我嘗試登錄時,我都會收到404消息。我應該注意到,登錄方法正在調用遠程服務,該服務作爲我的項目中的參考。同樣,當我使用「CTRL + F5」部署它時,它正常工作,就像上面的情況一樣。

我感覺到我錯過了某處的關鍵設置,但我似乎無法弄清楚。

回答

0

想通了。出於某種原因,CSS需要在url-string中省略「〜」字符。 從此改變了它:

... 
background-image: url('~/Images/bg.jpg'); 
... 

這樣:

... 
background-image: url('/Images/bg.jpg'); 
... 

至於第二個問題,這是一個有點類似的問題。出於某種原因,我的本地iis express服務器接受不包含「〜」字符的鏈接。每當我將它發佈到iis服務器時,它都不會接受這一點。相應地更改了我的所有鏈接/表單。

相關問題