標籤:
Silverlight的設計檢視出現錯誤,但是運行程式沒問題。
錯誤資訊:
System.Xml.XmlException
[Xml_CannotFindFileInXapPackage]
參數: ServiceReferences.ClientConfig
調試資源字串不可用。鍵和參數通常會提供足夠的資訊來診斷問題。請參見 http://go.microsoft.com/fwlink/?linkid=106663&Version=4.0.50917.0&File=System.Xml.dll&Key=Xml_CannotFindFileInXapPackage
在 System.Xml.XmlXapResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn)
在 System.Xml.XmlReaderSettings.CreateReader(String inputUri, XmlParserContext inputContext)
在 System.Xml.XmlReader.Create(String inputUri, XmlReaderSettings settings, XmlParserContext inputContext)
在 System.ServiceModel.Configuration.ServiceModelSectionGroup.GetSectionGroup()
解決方案:
1.百度
百度出的解決辦法是說:
在設計檢視中,整合式開發環境(IDE)要預先處理一部分XAML和代碼,將介面顯示出來,其中就要運行到建構函式裡的代碼,你可能在建構函式裡寫入了部分商務邏輯,以至於不能進行預先處理,所以你在開發環境下看不到介面,解決方案如下:
在建構函式中使用DesignerProperties.GetIsInDesignMode(this)判斷是否正在IDE中設計
public InitialPage() { InitializeComponent(); if (!DesignerProperties.GetIsInDesignMode(this)) { //your Initial code } }
結合我程式的情況,我將Silverlight頁面建構函式及Load事件中調用WCF服務的代碼都用上述GetIsInDesignMode()方法判斷。結果設計器仍然還在報錯。
2.MSDN
點擊設計器報錯介面的協助,導航至MSDN:
想到我還有一些自訂控制項的建構函式及Load事件沒用GetIsInDesignMode()方法判斷,於是迅速處理完,設計器恢複正常。
SIlverlight載入視圖出現異常 System.Xml.XmlException [Xml_CannotFindFileInXapPackage] 參數: ServiceReferences.ClientConfig