2012-11-29 58 views
3

我在WPF應用程序中遇到此錯誤。無效的文件名。 TitleContainer.OpenStream需要相對URI

Invalid filename. TitleContainer.OpenStream requires a relative URI.

pic_texture = Texture2D.FromStream(GraphicsDevice, TitleContainer.OpenStream(@"\Images\performer.png")); 

我已經試過也

@"/WpfControlLibrary1;component/Images/performer.png" 

沒有成功...

,如果我不喜歡這個

pic_texture = Texture2D.FromStream(GraphicsDevice, TitleContainer.OpenStream(@"performer.png")); 

,並把文件中的根

錯誤是:

Error loading "performer.png". File not found.

任何線索?

謝謝!

P.S.我確定文件是可以的。

enter image description here

enter image description here

UPDATE:

這篇文章https://gamedev.stackexchange.com/questions/9748/xna-am-i-screwing-up-the-loadcontent-for-texture2d不也有幫助。

+1

你可以嘗試沒有引導反斜槓(或斜線)? – neeKo

+0

@NikoDrašković是的我只是把文件放入了根目錄並且出現錯誤:「Error loading performer.png」.File not found。「 –

+1

您可能已經檢查過 - 但是您確定該文件在那裏?如果您通過Visual Studio添加它 - 請確保在文件屬性中選擇了「複製到輸出:複製如果更新」。如果我包含前導的'/',那麼我只會得到「相對URI」錯誤 - 否則文件加載得很好。 – neeKo

回答

4

我我猜一部分在這裏,但儘量

pic_texture = Texture2D.FromStream(GraphicsDevice, TitleContainer.OpenStream(@"Images\performer.png")); 

沒有第一\


調試

在你的程序中,immidiately前添加這些行的在你的錯誤發生的地方。

FileStream fs = new FileStream("myUniqueFile.txt", FileMode.Create); 
fs.Close(); 

請確保您有

using System.IO 

的代碼文件的頂部。

完成之後,請在您的計算機上搜索"myUniqueFile.txt",然後在評論中告訴我您找到它的位置。

+0

@Peretz你是否得到相同的錯誤?或者是錯誤不同? –

+2

@Peretz好吧,試試這個:右鍵單擊'performer.png',然後選擇構建動作爲** none **並將「複製到輸出目錄」設置爲**複製如果更新** –

+0

@Peretz this將確保該文件位於您的二進制目錄中的文件夾中 –

0

在VisualStudio中,右鍵單擊'performer.png'文件,轉到'屬性',將'複製到輸出目錄'更改爲Copy alwaysCopy if newer