SIlverlight加载视图出现异常 System.Xml.XmlException [Xml_CannotFindFileInXapPackage] 参数: ServiceReferences.ClientConfig

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()方法判断,于是迅速处理完,设计器恢复正常。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。