每一个现代版本的JSIL,我都试着使用XNA,但最终都出现了这个错误。

在过去的每一个地方,我都在寻找关于它为什么不运行的信息,最后得到了关于XNA4.0没有正确安装或其他什么的答案。
此错误是在3台不同的计算机上复制的。
我可以获得一个版本的JSIL工作,我可以下载一个版本从git存储库(JSIL-0.7.6),它将与XNA工作,只要你不给它任何构建无法支持的东西。
但这些版本现在已经有几年了。如果能有一个现代化的建筑,那就太好了。
我试图提出一些猜测,但我在这里有点超出了我的深度。
JSIL--0.7.6-不会在AnyCPU中构建,需要将解决方案平台设置为x86。
最新的JSIL发行版-很多项目现在都被设置为AnyCPU,并将其设置为x86将创建各种错误或警告的混合体。
因此,我想,在这条路线的某个地方,我可能在构建方面遇到了问题,在JSIL中的某些项目从x86到64位支持。
我已经安装了2010和visual社区。
我尝试过使用XNA刷新之类的东西。使用征兵、FNA等.
在一个理想的世界里,我宁愿让JSIL使用单一游戏名,但是我在任何版本的JSIL上都会有太多的错误,这似乎不值得去打扰。将单一游戏项目移植到xna并不是太大的麻烦。
发布于 2015-09-01 04:14:40
主干JSIL被设计为使用VS2015社区构建。大多数依赖项已转移到NuGet,这意味着您需要在第一次构建之前还原包-- VS2015将自动为您完成此操作;在命令行中,您可能需要手动进行NuGet包恢复。
如果您想使用XNA支持,您将希望编译为Debug|Any CPU或Release|Any CPU。这应该仍然有效,因为编译器JSILc现在有32位和64位目标.如果您使用32位目标(Compiler.Executor.32bit),这将确保编译器在32位模式下运行,XNA位将工作。32位目标构建为JSILc.exe,64位目标构建为JSILc.AnyCPU.exe。
就内容管道位而言,我需要看到更多的日志文本来推测它为什么不能工作.但通常情况下,命令行msbuild中的内容管道不能可靠地工作。您最好的选择是首先使用Visual一次性构建游戏项目,以便正确构建所有内容,此时命令行msbuild将更好地处理它。
对于VS2015中的XNA,使用codeplex:https://mxa.codeplex.com/releases中的VS2013包,在VS2015允许您安装它之前,可能需要编辑包中的清单,但是它工作得很完美。
使用VS2013构建可能会很好,但我最近还没有这样做。
如果你仍然有问题,试着通过做一个NoXNA构建来排除基本的东西(Debug\NoXNA而不是Debug\AnyCPU),并确保所有的东西都能在那里工作。验证工作构建的一种简单方法是使用SimpleTests测试运行程序运行“VS2015”测试套件--这需要相对较短的时间,并将识别编译器或构建管道中的基本问题。
请记住,当您从命令行调用msbuild或csc之类的工具时,您将得到的版本有些不可预测。VS2015 x64 native tools command prompt和VS2015 x86 native tools command prompt是两个开始菜单快捷键,如果您有VS2015,它将为您提供一个命令提示符,并加载正确的工具。考虑到您已经安装了VS2010,在尝试构建时可能会使用msbuild和/或csc的旧版本。
https://stackoverflow.com/questions/32312392
复制相似问题