2009-11-25 53 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中重載時要非常容易接近。