[英]SIlverlight XAP file not refreshing when debugging application
我在構建Silverlight應用程序(版本4)的團隊中工作。 我們使用SVN並且所有工作都在代碼的不同部分上工作,並使用最新代碼定期更新項目。 Silverlight應用程序從ASP.NET Web應用程序運行。 在更新代碼時,我們遇到了非常令人沮喪的問題。 似乎舊版本的XAP正在被緩存。
示例:Francisco更改彈出對話框的措辭,並提交更改。 一個非常簡單的變化,可能出現什么問題? 我得到了最新的代碼。 我在IDE(VS2010)中看到了新代碼並運行它。 當我查看該對話框時,它沒有新的措辭,即使我可以在我的文件中看到新的措辭。 我在更改所在的代碼上設置了斷點,但是當我運行應用程序時,斷點被禁用!
我嘗試使用Silverlight和Web主機的Clean構建。 我殺了我的本地ASP.NET開發服務器。 我運行應用程序 - 同樣的事情! 我從ClientBin中刪除了xap。 不好。 我們團隊中的每個人都遇到了這個問題。 現在我們偶爾解決它,但永遠不確定究竟什么是固定的東西,這是不令人滿意的。
必須有一些設置或我們缺少的東西。 你會認為刪除ClientBin xap文件會解決它,因為新的XAP必須來自編譯Silverlight應用程序,對吧?
如果你以前見過這個問題並有一個真正的解決方案,請告訴我。 (不會接受“格式化硬盤並重新安裝所有內容”的解決方案!)
謝謝,
丹尼爾威廉姆斯
我建議您使用IE進行Silverlight開發。 另見這個答案 。
使用Firefox進行開發的問題是Firefox在一個單獨的進程(plugin-container.exe)中運行插件。 啟動調試器時,VS不知道Silverlight將不會從它啟動的進程中運行,因此它不會附加到正確的進程。 Silverlight代碼中的斷點似乎不起作用,因為VS調試器未附加到運行Silverlight代碼的任何進程。
我相信這是可能的禁止使用的插件,container.exe過程(參見,例如,LIMPET235的帖子在這里 ),但不會修復明顯緩存你也遇到了。
我曾經使用Firefox進行Silverlight開發,但是當我切換到使用IE時,我發現事情運行得更順暢。
幾件事要檢查。
首先,請您檢查一下您的.xap文件是否也包含在源代碼管理中? 它不應該包括在內......,不需要恕我直言。 您的xap文件很可能設置為只讀。 轉到該文件位置並使ClientBin文件夾不是只讀的。
在緩存XAP文件之前我已經看過了。 嘗試清空瀏覽器緩存,然后在XAP上放置查詢字符串。 所以你的XAP參考看起來像Foo.xap?1234
“格式化您的硬盤並重新安裝所有內容”的解決方案將不被接受!
格式化硬盤並安裝Linux(:
更重要的是,在SomeSilverlightApp.Web項目中配置Silverlight應用程序選項卡,將xap文件從SomeSilverlightApp項目復制到ClientBin文件夾,該文件夾默認顯示在那里。
在我的情況下,ClientBin文件夾也是SomeSilverlightApp.Web項目的一部分,xap屬性設置為CopyToOutputDirectory:Always以便它也被部署。
這可能不是正確的解決方案,但它在這里工作,我沒有時間嘗試調查這個奇怪的邏輯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.