为什么我不能在XBox360游戏中使用常规类库?
我有应用程序逻辑,我想保持独立于XNA并在WPF和XNA应用程序中使用。
有没有人知道在XBox / Phone7应用程序和“常规”Windows应用程序之间共享代码的良好做法?
答案 0 :(得分:4)
查看便携式类库:http://msdn.microsoft.com/en-us/library/gg597391.aspx
使用可移植类库 项目,你可以建立便携式 无需工作的组件 在.NET Framework上进行修改, Silverlight,Windows Phone 7或XNA (Xbox)平台。没有便携式 类库项目,你必须目标 单个平台,然后手动 为其他人重做类库 平台。可移植类库 project支持子集 来自这些平台的组件,以及 提供了一个Visual Studio模板 可以构建程序集 在没有修改的情况下运行 平台。
答案 1 :(得分:1)
修改:查看JoDG's answer以获得更好的解决方案。
您可以尝试链接文件...
在您的Xbox项目中,右键单击 - >添加现有文件,然后在选择文件后,单击“添加”按钮上的小下拉箭头,然后单击“添加为链接”,如下所示:
如果您需要共享的不仅仅是文件,这可能无效,但这是一种分享代码的简便方法。
答案 2 :(得分:1)
JoDG的回答可能是最实用的。但只是为了提供更多信息:
为什么我不能在XBox360游戏中使用常规类库?
因为不同的XNA平台针对不同版本的.NET框架。
XNA Game Studio本身提供了一种机制(documented here和more info here),用于在两个项目之间自动镜像项目的源文件。此机制可用于为每个平台以及游戏项目创建库项目的副本。
对于与XNA相关的工作,这是创建跨平台库的首选方法。当您还必须使您的库在WPF上工作时,您必须采取其他步骤:
在Windows上,XNA游戏就像任何其他.NET应用程序一样,Windows的XNA库就像任何其他.NET库一样。 ,因为它们引用了XNA程序集。因此,您的WPF应用程序可以引用您的XNA库的Windows版本。但是,如果您希望应用程序在没有安装XNA的系统上运行,则需要从该项目的XNA库中删除 XNA程序集引用。
XNA Game Studio仍会为您镜像Windows库和Xbox 360库之间的更改。