1

我正在做一个个人项目,用于 XNA 的学习目的。我在网上读到使用内容管道需要人们安装 xna 运行时。所以我决定使用Texture2D.FromStream加载文件。

当我从 Visual c# 运行项目时一切都很好,但是当我发布项目并运行它时,它立即崩溃了。我不确定是否有办法查看有关崩溃的更多信息,但我认为没有。我认为这取决于不使用内容管道。

当我查看已发布项目的应用程序文件时,我只看到 .xnb 文件。并且没有我正在使用的原始 .png 和 .xml 文件。

我试图手动将文件放在那里,但这也不起作用。这些文件都在“Projectname\bin\x86\Debug\Content”文件夹中。

有人有什么想法吗?


编辑

我刚刚重写了我的内容管理器,因此它使用了内容管道,并且发布的项目现在可以在我的电脑上正常运行。所以我必须想办法让它在没有内容管道的情况下工作

4

2 回答 2

2

如果你使用 Texture2D.FromStream,你必须关心两个事实:

  1. 您必须更改某些资源的属性:

    • 编译动作:无
    • 复制到结果文件夹:始终

      这样就不会构建 xnb,而是您将获得资源

  2. 您必须设置适当的路径,现在您的路径中没有“bin\Debug”。

于 2011-09-06T10:10:36.710 回答
0

正如@Blau 提到的,更改图像的属性将解决您的问题。如您所见,现在所有平台的框架都完全支持 FromStream 方法:http:
//blogs.msdn.com/b/shawnhar/archive/2010/05/10/image-codecs-in-xna-game -studio-4-0.aspx

至于看到错误......您总是可以在您认为引发错误的语句周围放置一个try catch,然后将错误文本写到屏幕上以便您可以看到它。就像是

try
{
    //The offending code
}
catch(Exception ex)
{
    WriteError(ex.Message);
}
于 2011-09-06T10:20:01.060 回答