2011-09-06 28 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