2009-11-25 55 views
14

我有一个Silverlight应用程序,当我点击“运行”时,Internet Explorer启动并且没有显示任何内容。我在左下角看到一个错误图标,当我点击它时,会导致以下错误。Silverlight应用程序无法运行。我得到一个无效或畸形的应用程序错误

网页错误的详细信息

用户代理:Mozilla的/ 4.0(兼容; MSIE 8.0; Windows NT的6.1;三叉戟/ 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729。 NET CLR 3.0.30729;媒体中心PC 6.0) 时间戳:星期三,2009年11月25日零点11分41秒UTC

消息:未处理的错误在Silverlight应用程序

代码:2103

类别: InitializeError

消息:无效或恶意应用:检查清单

行:54 字符:13 代码:0 URI:http://localhost:50511/TestPage.html

为什么我得到这个错误?我该如何解决它?

我看了看周围,其他人似乎得到这个错误,当他们重新命名他们的应用程序,但我没有这样做。

我已经创建了一个自定义样式,如果这可能与它有任何关系。

我没有做任何编码,我所做的就是拖拽我的风格的控件并链接页面。

+0

你在使用Blend或Visual Studio? – AnthonyWJones 2009-11-25 09:41:31

+0

我可以同时访问这两个版本,但我使用的是Microsoft Expression Blend 3 – Lango 2009-12-02 04:26:56

回答

1

当我去'草图'样式对象的对象 - >编辑样式 - >编辑复制时发生错误。我把新风格放在一个新的资源中。

当我删除这些样式时,错误消失了。然后我重新编辑我从头开始需要的样式,而不是编辑一个副本,但我没有收到错误。

33

我在几种情况下遇到了这个错误。检查属性中的启动对象是否正确(任何名称空间更改?)。一定要明确地将Silverlight项目作为Web项目的依赖项目添加,但这不是默认情况下完成的。

在Web项目的属性中,在Silverlight应用程序下重新添加您的Silverlight项目。确保App.xamlx:Class与名称空间和类名称后面的代码相匹配。嗯,我认为这是通常的伎俩。

我希望这会有所帮助。

+0

感谢Nathan,该解决方案是在Blend中创建的,因此所有项目都安装正确,并且所有代码都是动态生成的。我查看了名称空间中的代码,它看起来是正确的。我没有重命名项目 – Lango 2009-12-02 04:28:43

+5

这解决了我的问题 - 我已经重命名应用程序,但没有更改项目属性中的启动对象。 – 2010-12-01 02:11:48

+0

Dood--可能不是OP的解决方案,但将我的公司击倒了。我改变了命名空间,那就是根。非常感谢! – 2012-07-13 12:42:49

1

检查以确保所有的prerequists安装在Web服务器上。我挣扎了4个多小时。网络上的每一篇文章都谈到了改变我没做过的命名空间。我最终决定在另一台网络服务器上尝试我的应用程序,问题就消失了。

感谢大家发布他们的修复程序,但如果所有esle失败尝试另一台计算机或检查您的先决条件。

4

我从App.xaml中引用的项目中删除资源字典时出现此错误。 Visual Studio构建的解决方案很好,并没有指出任何错误。

当我想起从App.xaml中删除这行时,一切正常。

8

以防万一,这可以帮助别人:

我敲我的头撞在墙上了,而试图弄清楚为什么我得到这个错误。一切似乎都正确。

.xap文件只是一个.zip,因此可以在部署后手动更改ClientConfig中的信息(只需解压缩文件然后重新存档即可)。我一直在更改WCF端点信息后部署,然后重新打包。好吧,在没有意识到的情况下,我一直在压缩文件夹,这意味着zip文件夹内有一个文件夹,而不是该zip文件夹的根目录中的内容。

这是一个愚蠢的错误,但从客户的角度来看,.xap似乎没有问题。我得到的唯一错误是2103错误。将文件移动到zip的根目录解决了我的问题。

+1

你用这个答案为我节省了几个小时的挫折,谢谢! – SolutionYogi 2012-11-01 04:48:57

1

即使这是一个旧帖子,同样的问题已经吃了几个小时的时间。上面给出的解决方案并没有为我解决。

通过设置复制本地=真为所有外部引用程序集已解决这个问题对我来说。

最初,Visual Studio为所有程序集设置了Copy Local = True,但是随后项目将开始从本地复制程序集(bin \ debug)引用。为了使它能够引用常见的位置,我已经设置了Copy Local = False,所以这个问题结束了。

希望这可以节省你的时间...

0

我也遇到过这个问题。我发现如果我在项目属性中重命名了程序集,它并没有更新应用程序的HTML或ASPX文件。

5

将现有Silverlight应用程序部署到新环境或重新安装的开发计算机时,我遇到过几次这个问题。

当您安装IIS时,请确保已启用Static Content功能(在Common Http Features下),以便您可以在IIS管理器的根目录中看到可用的MIME类型功能。 .XAP类型应设置为application/x-silverlight

这解决了我的问题。

感谢:http://keremozen.com/2012/10/18/solution-alternatives-to-invalid-or-malformed-application-check-manifest-error/

0

这里是另一个问题,我发现。 BasedOn款式的排列似乎很重要。

以下原因会导致一个WSOD与错误代码2103

<Style x:Key="Style2" TargetType="TextBlock" BasedOn="{StaticResource Style1}" /> 
<Style x:Key="Style1" TargetType="TextBlock" /> 

但这不会。

<Style x:Key="Style1" TargetType="TextBlock" /> 
<Style x:Key="Style2" TargetType="TextBlock" BasedOn="{StaticResource Style1}" /> 

花了很长时间才找到这个。看起来XAML解释器的工作方式实际上更像一个问题,但它很容易解决。

3

下面的事情完全为我工作

(1)检查属性中的启动对象是正确的。 (2)确保将Silverlight项目明确添加为Web项目的相关项目,但这不是默认情况下完成的。 :右键单击解决方案(不在单个项目上)>属性>项目依赖项>在项目&下选择Web项目检查Silverlight客户端项目,具体取决于。 >应用>确定。

(3)重新添加您的Silverlight项目下的Web项目的属性的Silverlight应用程序.. :右键单击Web项目>属性> Silverlight应用程序>点击添加&项目在项目选择Silverlight客户端。 :thumbsup:

0

我们在Wcf查询服务发生变化后遇到问题。我们向Wcf服务添加了重载方法。像这样

[OperationContract] 
    int test(Guid id); 

    [OperationContract] 
    int test(Guid id, int id2); 

运行应用程序时,它给了我们错误。当我们删除2种方法中的一种时,它运行得非常好。把它回来的错误回来了。重命名解决了这个问题。

因此,当在Wcf中重载时要非常容易接近。