2012-07-23 124 views
1

我正在使用asp.net mvc3應用程序部署到服務器時不正確的文件路徑

我想在視圖中使用一些JavaScript庫。我這樣包括它

本地它的工作原理。 但是,當我在服務器上部署腳本文件時,無法找到。

我做了一些研究,發現它使用的URL爲:Root/Scripts/UserScript.js,而應使用Root/MyApplicationName/Scripts/UserScript.js

我怎樣才能使它使用正確的路徑?從邏輯上講,它應該起作用,因爲../../給了我們相對路徑。爲什麼它從根開始?

我也檢查了服務器上的構建,並且它具有與本地相同的體系結構(相同的文件夾樹)。

順便說一句,這是對任何文件(與開始的所有圖片,腳本和CSS ../../)

任何幫助是極大的讚賞

回答

0

您可以使用Razor語法並找到它嗎?

<script type="text/javascript" language="javascript" src="@Url.Content("~/Scripts/UserScript.js")" ></script> 
3

本地Web服務器(IIS或相同Cassini)使用虛擬應用程序,因此您的網站的根目錄不是,例如http://localhost/而是http://localhost/MyApplicationName

另一方面,在您的生產服務器上,它是一個完整的IIS安裝,您的網站被定義爲根應用程序(網站)。這就是爲什麼本地你有額外的目錄級別。

在我看來,最佳實踐是在您的開發機器上安裝完整的IIS(或IIS Express),並將您的網站定義爲根應用程序(網站),因此您將針對相似的環境進行編程到您正在部署的人。

相關問題