2011-09-06 76 views
1

我正在爲XNA的學習目的開展個人項目。我在線閱讀使用內容管道需要人們安裝xna運行時。所以我決定使用來加載文件Texture2D.FromStreamxna發佈的項目沒有內容管道?

當我從visual c#運行項目時,一切都很好,但是當我發佈項目並運行它時,它立即崩潰。我不確定是否有辦法查看有關崩潰的更多信息,但我認爲不是。我認爲這是不使用內容管道。

當我查看已發佈項目的應用程序文件時,我只能看到.xnb文件。並沒有我正在使用的原始.png和.xml文件。

我試圖手動將文件放在那裏,但這並沒有工作。 這些文件全部位於「Projectname \ bin \ x86 \ Debug \ Content」文件夾中。

任何人有任何想法?


編輯

我剛纔重寫我的contentmanager所以它使用內容管道,並公佈項目現在正常工作在我的電腦。所以,我必須想出一個辦法來得到它沒有內容管道

回答

2

,如果你有Texture2D.FromStream工作,你必須關心兩個事實工作:

  1. 你必須改變一些資源的屬性:

    • 編譯行動:無
    • 複製到結果文件夾:始終

      這樣,XNB不會被建造,你會得到你的資源,而不是

  2. 必須設置此時,相應的路徑,現在你還沒有的「bin \調試」在你的路徑。

+0

感謝#1做到了! 雖然不確定你的意思。我應該以某種方式刪除x86文件夾? 是否有任何缺點不使用內容管道btw? – omgnoseat

0

As @Blau提到,更改圖片的屬性可以解決您的問題。如您所見,現在所有平臺上的框架完全支持FromStream方法:
http://blogs.msdn.com/b/shawnhar/archive/2010/05/10/image-codecs-in-xna-game-studio-4-0.aspx

只要看到錯誤......你總是可以試着抓住你認爲拋出錯誤的聲明,然後將錯誤文本寫出到屏幕上以便看到它。類似於

try 
{ 
    //The offending code 
} 
catch(Exception ex) 
{ 
    WriteError(ex.Message); 
} 
+0

是的,我在想這個,只是想知道我是否有一個「真正的」調試選擇或某種日誌。 – omgnoseat