xna发布了没有内容管道的项目?

时间:2011-09-06 00:08:21

标签: xna publish content-pipeline

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

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

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

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

任何人都有任何想法?


修改

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

2 个答案:

答案 0 :(得分:2)

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

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

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

      这样,xnb将不会被构建,您将获得资源

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

答案 1 :(得分:0)

正如@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);
}