2013-04-25 32 views
6

我一直在爲一個新的Intranet網站工作幾個星期,現在一切都按預期工作。如果我對.aspx頁面進行了任何更改(添加了原始文本,新控件等),然後在VS(F5)中對它們進行了測試,則所有更改都會立即反映在瀏覽器中。只要添加一個<br>標籤或像添加一組嵌套控件一樣簡單,只要調試重新啓動就會顯示出來。ASP.NET網站頁面沒有反映最近的變化

今天早些時候,一切正常。然後我決定我想玩一些AjaxControlToolkit的好東西。我最終爲我安裝了今天發佈的VS的SP1 Update 2(http://www.microsoft.com/en-us/download/details.aspx?id=38188),並更新了NuGet並從那裏安裝了AjaxControlToolkit。

我添加了幾個工具,其中包括一個ScriptManager和一個UpdatePanel,並且一切都按照我的預期工作。然後我進行了一些更改,並無意中添加了第二個ScriptManager。當我去調試/運行時,它當然失敗了,因爲在頁面上不能有多個,所以我刪除了多餘的一個,然後再次運行。它再次給了同樣的失敗。我經歷了一段時間,確保我沒有不小心在某處添加另一個文件,搜索了我項目中的所有文件,這是它的唯一實例,因此我將它評論並再次運行。一樣。我嘗試了幾件事情,最終重新啓動IIS和VS,然後頁面按預期運行。

由於那一點,我在項目中的任何文件中所做的任何更改都不會在不退出IIS並重新啓動的情況下進行更新。項目中新增的非常基本的aspx或html文件可以完成同樣的任務。然後,我在更新VS之前恢復了還原點,並在添加AjaxControlToolkit之前的一天早些時候使用了我的網站的備份,但問題仍然存在。

這是怎麼回事?我覺得它與VS更新有關,但這似乎並不合理。我看不到這樣的重大錯誤被忽略?爲什麼IIS不提供更新的頁面?

瀏覽器中的Ctrl + F5不反映更改。整個解決方案的重建並不反映變化。關閉並重新打開瀏覽器不會反映更改。更改我的web.config不會反映更改。創建一個全新的空白網站,問題依然存在。更改爲Visual Studio開發服務器而不是IIS,問題仍然存在。

我發現強制正確更新的頁面正確投放的唯一方法是在IIS中「停止站點」,然後重新啓動,這太簡單了,太麻煩了,以檢查頁面中任何內容的微小更改。

我正在使用Visual Studio 2012 Express,IIS Express,.NET 4.0,C#代碼隱藏,文件位於Intranet文件系統(映射到x :)上,與我的實際生產託管服務器分開。

以防萬一(雖然我不認爲它很重要,因爲現在的問題有一個新的網站出現的偶數),這裏是我的web.config(這是很基本的):

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    <customErrors mode="Off" /> 
    <httpRuntime /> 
    <pages> 
     <controls> 
     <add tagPrefix="ttw" src="~/Controls/CustomerInformation.ascx" tagName="CustInfo" /> 
     <add tagPrefix="ttw" src="~/Controls/CircuitInformation.ascx" tagName="CktInfo" /> 
     </controls> 
    </pages> 
    </system.web> 
    <system.webServer> 
    <httpProtocol> 
     <customHeaders> 
     <add name="X-UA-Compatible" value="IE=EmulateIE9" /> 
     </customHeaders> 
    </httpProtocol> 
    </system.webServer> 
</configuration> 

任何建議將不勝感激,我希望解決方案能夠幫助其他人在最近更新後遇到同樣的問題。

+1

嘗試刪除Windows下的Microsoft.Net文件夾下的Temporary ASP.NET Files。沒有方便的鏈接,但去谷歌找到正確的方法來處理這個。對不起,急着,得走了。祝你好運!! – Jaxidian 2013-04-25 23:54:02

+0

我不在Express中工作,但如果您可以擴展更多*'我正在使用Visual Studio 2012 Express,IIS Express,.NET 4.0,C#代碼隱藏,文件位於Intranet文件系統上(映射到x :),與我的實際生產託管服務器*分開?如何更新應用程序(bin代碼)?你可能運行原始的bin部署代碼?網站與Web應用程序?你如何發佈/部署? – EdSF 2013-04-26 00:18:33

+0

@EdSF使用Visual Studio中的複製網站工具將其推送到生產服務器。在這種情況下它並不是真正相關的,因爲在網站經過測試之前,我不會推送到產品服務器,而且我自己現在還沒有到達這一點。從一個空的網站開始,只使用aspx網頁表單。 – Chris 2013-04-26 00:55:22

回答

0

聽起來像一個權限問題。映射的網絡驅動器使用的權限不足,或者IIS應用程序池標識對該文件夾沒有權限。