MonoGame 和 Microsoft.XNA.Framework 命名空间之间的引用不明确

2024-04-15

MonoGame(一个基本上将 XNA 引入 Windows Phone 8 的框架)的所有命名空间都带有前缀Microsoft.Xna.Framework我相信将 XNA 应用程序移植到 MonoGame 时所需的代码更改量最小化。

我的问题是,我希望访问Microphone类,因为尚未在 MonoGame 中创建,所以我必须在官方 Microsoft XNA 类中使用它,这需要显式强制删除标准Microsoft.XNA.Framework.dll我的 MonoGame 模板已设置 .csproj 中的引用以避免冲突,现在效果很好Microphone是可访问的,但这样做我在 Microsoft 标准版和 MonoGame 中都存在的几个关键类之间造成了歧义。

我收到的错误是:

不明确的参考:
Microsoft.Xna.Framework.Color
Microsoft.Xna.Framework.Color

显然发生了这种情况,因为除了 Microsoft 发布的标准 XNA 库之外,我还引用了MonoGame.Framework.dll它霸占了命名空间,造成了这种歧义。但是,在所有情况下,我都希望访问 MonoGame 版本。

我有什么想法可以明确告诉编译器使用 MonoGame 版本Color and Vector2类而不是微软官方的类?

任何尝试using Color = Microsoft.Xna.Framework显然是行不通的,因为它们在编译的 dll 中标记相同!


解决这个特定问题的方法是使用extern alias (MSDN http://msdn.microsoft.com/en-us/library/ms173212.aspx, tutorial http://blogs.msdn.com/b/ansonh/archive/2006/09/28/extern-alias-walkthrough.aspx).

这样您就可以为 Microsoft XNA DLL 指定别名并指定适当的using声明只是为了Microphone班级。继续正常使用 MonoGame。

可能更好的解决方案是让您自己的包装类称为Microphone在命名空间中Microsoft.Xna.Framework.Audio使用这种技术。将其放在单独的程序集中,这样您就不必使用extern alias stuff.

当然,最理想的方式是实际实施Microphone为 MonoGame 贡献它;)

(当然,这个答案并没有说明您以这种方式混合 MonoGame 和 XNA 的功能有多成功。希望它能起作用。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MonoGame 和 Microsoft.XNA.Framework 命名空间之间的引用不明确 的相关文章

  • 通过 SOAP 的 Gmt php 或 UTC C# 等效项

    is C DateTime UtcNow和 PHPdate c 是等价的 我怀疑 因为当我肥皂时 我得到了 C
  • OpenGL缓冲区更新[重复]

    这个问题在这里已经有答案了 目前我正在编写一个模拟水的程序 以下是我所做的步骤 创建水面 平面 创建VAO 创建顶点缓冲区对象 在其中存储法线和顶点 将指针绑定到此 VBO 创建索引缓冲区对象 然后我使用 glDrawElements 渲染
  • 为什么 C# 中同一类型的隐式和显式运算符不能共存? [复制]

    这个问题在这里已经有答案了 为什么同一类中两个相同类型的运算符 显式和隐式 不能共存 假设我有以下内容 public class Fahrenheit public float Degrees get set public Fahrenhe
  • 类中是否可以有虚拟类声明?

    我正在为个人项目中框架的各个组件设置一个接口 我突然想到了一些我认为可能对接口有用的东西 我的问题是这是否可能 class a public virtual class test 0 class b public a public clas
  • 如何调试在发布版本中优化的变量

    我用的是VS2010 我的调试版本工作正常 但我的发布版本不断崩溃 因此 在发布版本模式下 我右键单击该项目 选择 调试 然后选择 启动新实例 此时我看到我声明的一个数组 int ma 4 1 2 8 4 永远不会被初始化 关于可能发生的事
  • 判断串口是普通COM还是SPP

    我正在寻找一种方法来确定 COM 是标准 COM 还是 SPP COM 也称为 COM 设备的电缆替换蓝牙适配器 我有一个可以在 USB COM gt USB 和蓝牙下工作的设备 并且蓝牙接口可以与 SPP 一起工作 我目前正在使用Syst
  • 名称查找、实例化点 (POI) 和基本类型

    以下代码针对 X 进行编译 但不适用于 double struct X void foo double void foo X namespace NN struct A void foo A foo double error foo not
  • 从点云检测平面集

    我有一组点云 我想测试3D房间中是否有角落 所以我想讨论一下我的方法 以及在速度方面是否有更好的方法 因为我想在手机上测试它 我将尝试使用霍夫变换来检测线 然后我将尝试查看是否有三条线相交 并且它们也形成了两个相交的平面 如果点云数据来自深
  • 如果在代码中添加元素,“FindName”将不起作用

    在 WPF 应用程序中 如果在 XAML 中声明 ContentControl
  • 如何在 EF Core 2.1 中定义外键关系

    我的 DAL 使用 EF Core 2 1 这就是我的模型的样子 一名用户只能拥有一种角色 Role entity kind of master public class Role public int RoleId get set pub
  • MSChart 控件中的自定义 X/Y 网格线

    我有一个带有简单 2D 折线图的 C Windows 窗体 我想向其中添加自定义 X 或 Y 轴标记 并绘制自定义网格线 例如 以突出显示的颜色 虚线 我查看了 customLabels 属性 但这似乎覆盖了我仍然想显示的默认网格 这是为了
  • 在 mvc4 中创建通用 mvc 视图

    我以前也提过类似的问题 没有得到答案 如何创建一个通用的 mvc4 视图 该视图可以显示传递给它的模型列表或单个模型 模型可以是个人 组织或团体 无论传递给它的是什么 如果您正在寻找类似的东西 model MyViewModel
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 在 Qt 中播放通知(频率 x)声音 - 最简单的方法?

    Qt 5 1 或更高版本 我需要播放频率为 x 的通知声音 n 毫秒 如果我能像这样组合音调那就太好了 1000Hz 持续 2 秒 然后 3000Hz 持续 1 秒 最简单的方法是使用文件 WAV MP3 例如如此处所述 如何用Qt播放声音
  • 如何测试某些代码在 C++ 中无法编译? [复制]

    这个问题在这里已经有答案了 可能的重复 单元测试编译时错误 https stackoverflow com questions 605915 unit test compile time error 我想知道是否可以编写一种单元测试来验证给
  • 用数组或向量实现多维数组

    我想使用单个数组或向量实现多维数组 可以像通常的多维数组一样访问它 例如 a 1 2 3 我陷入困境的是如何实施 操作员 如果数组的维数为 1 则 a 1 应该返回位于索引 1 处的元素 但是如果维数大于一怎么办 对于嵌套向量 例如 3 维
  • 当 Verb="runas" 时设置 ProcessStartInfo.EnvironmentVariables

    我正在开发一个 C 应用程序 我需要创建变量并将其传递给新进程 我正在使用ProcessStartInfo EnvironmentVariables 新进程必须提升运行 因此我使用 Verb runas var startInfo new
  • 在二进制数据文件的标头中放入什么

    我有一个模拟 可以读取我们创建的大型二进制数据文件 10 到 100 GB 出于速度原因 我们使用二进制 这些文件依赖于系统 是从我们运行的每个系统上的文本文件转换而来的 所以我不关心可移植性 当前的文件是 POD 结构的许多实例 使用 f
  • 如何知道 HTTP 请求标头值是否存在

    我确信这很简单 但是却让我感到厌烦 我在 Web 应用程序中使用了一个组件 它在 Web 请求期间通过添加标头 XYZComponent true 来标识自身 我遇到的问题是 如何在视图中检查此组件 以下内容不起作用 if Request
  • 如何在 Razor 编辑视图中显示选中的单选按钮 Asp net core mvc

    尽管 Razor 视图中的 Asp 网络核心代码 model List

随机推荐

  • C# IComparer 标准用法问题

    我有一个问题 这是否是在 C 中使用 IComparer 的标准 假设我有一个情况 其中有三个 Person 对象 P1 P2 和 P3 假设我调用 Compare 方法并传入 P1 和 P2 结果为 0 这本质上意味着两个人应该被归类为相
  • Rails 6 ActiveStorage 在文件上传失败时恢复事务

    我有一个非常简单的场景 我正在创建一条记录 然后附加一个文件 之后save 因为我需要记录上的 id 来生成附件的细名 所有这些都包含在事务中 就像是 def create ActiveRecord Base transaction do
  • 在服务器中实现自动完成的最佳方法是什么?

    这个问题很容易让人知道 让 Web 应用程序的客户端自动完成变得漂亮很简单 有很多插件 但是 在后端 在服务器端 最好的方法是什么 我不喜欢用户每次按下按键就访问数据库的想法 我一直在考虑 sphinx 或者一些与您的网站并行运行的全文搜索
  • 如何使用 Java2D 图形正确绘制点间距很近的粗线?

    我正在尝试使用 Java2D 绘制地图 当我的地图缩小时 我的道路上充满了绘画制品 这是绘制完整的美国州时屏幕的一小部分 放大后 这是一段相似的路段 使用的线条样式是一条蓝色实线 其宽度缩放为相当于 2 个像素 我尝试了各种渲染提示和行连接
  • 在 TeamCity 中创建变更日志工件

    是否有一种简单的方法可以让 TeamCity 包含文本或 html 更改日志作为其输出工件之一 也许我需要沿着让 msbuild 或其他进程创建更改日志的路线 但由于 TeamCity 为每个构建生成一个更改日志 我想知道是否已经有一种简单
  • Bootstrap-modal 在 Flash 顶部弹出

    我正在使用 Twitter 的 Bootstrap 插件bootstrap modal 除非后面有闪光灯元件 否则它效果很好 当引导模式对话框出现并且其后面有一个 Flash 元素时 Flash 元素位于其他所有元素之上 我该如何解决 您需
  • Ruby String#scan 相当于返回 MatchData

    正如问题标题中基本上所述 Ruby 字符串上是否有一种方法相当于字符串 扫描 http ruby doc org core String html method i scan但它不是只返回每个匹配的列表 而是返回一个数组MatchData是
  • 如何处理 SQL Server 中列名中的空格?

    假设我想使用这样的代码 select Response Status Code Client Response Status Code from TC Sessions NOLOCK WHERE StartDate BETWEEN 05 1
  • Oracle 数字和 varchar 连接

    我有一个连接两个表的查询 一个表的列类型为 varchar 另一表的列类型为 number 我已经在 3 个 Oracle 数据库上执行了查询 并且看到了一些奇怪的结果 希望能够得到解释 在其中两个数据库上 类似以下内容的工作 select
  • Dart future 阻塞主线程

    我正在开发一个捕获和处理图像的应用程序 代码的简化版本是 build return FloatingActionButton onPressed processImage child Icon Icons camera alt color
  • 计算numpy中2个点列表的距离

    我有 2 个点列表作为 numpy ndarray 每一行都是一个点的坐标 例如 a np array 1 0 0 0 1 0 0 0 1 b np array 1 1 0 0 1 1 1 0 1 这里我想计算2个列表中所有点对之间的欧氏距
  • Windows Server 2012 R2 上通过 SSL 的 AD LDS

    我正在尝试将我的 AD LDS 实例配置为通过 SSL 运行 以便我可以使用我的应用程序从另一台计算机连接到它并执行密码更改操作 我安装了证书颁发机构来创建一个服务器证书 我可以在我的 AD LDS 实例上使用该证书 我将证书添加到 AD
  • Quill:如何防止工具栏滚动并设置高度?

    我正在尝试遵循以下示例https quilljs com playground autogrow height https quilljs com playground autogrow height但在设置编辑器框的高度并防止工具栏滚动到
  • 在 Ubuntu 9.10 中安装 play-framework

    我已从 playframework org 网站复制了压缩文件并将其解压缩到某个位置 我已将其插入到我的 bashrc 配置文件中以设置为 PATH 环境 但仍然无法从任何地方访问播放命令 即使在框架的安装目录中 播放文件也没有按原样运行
  • 将 Selenium WebDriver 连接到现有浏览器会话

    我正在使用 selenium 如果当前存在现有浏览器会话 对于我来说 Chrome 我想附加一个 webdriver 实例 我不想打开新的浏览器窗口 会话 我用谷歌搜索发现 有一些方法可以通过这些网站上的描述来做到这一点 通过扩展 Remo
  • file.canWrite() 说“true”,但我无法在可移动存储上写入(kit kat)

    我收到来自相机的意图 其中包含在此路径中拍摄的照片 storage extSdCard DCIM Camera photoCaptured jpg 我想调整图像的大小 已经这样做了 并在同一路径中覆盖 我可以在 2 3 4 1 和 4 3
  • 如何使用定时器和不同的线程让代码顺利运行

    我试图阻止 GUIfreezing 因为定时器间隔很短并且需要处理的内容太多Timer Tick事件处理程序 我已经用谷歌搜索了一段时间 我了解到我无法从 UI 线程以外的任何其他线程更新 UI 那么 如果您在下面使用大量控件怎么办 Tim
  • 使用 R 查找包含最大值的行索引

    给定以下矩阵 假设我想找到第二列中的最大值 mat lt matrix c 1 3 7 9 4 6 byrow T nc 3 mat 1 2 3 1 1 2 3 2 7 8 9 3 4 5 6 I know max mat 2 将返回 8
  • C# 中的数字签名无法在 C++ 中进行验证

    我有一个 C 应用程序 它使用 RSA 对数据进行数字签名 代码如下 RSACryptoServiceProvider rsa new RSACryptoServiceProvider rsa ImportCspBlob privateKe
  • MonoGame 和 Microsoft.XNA.Framework 命名空间之间的引用不明确

    MonoGame 一个基本上将 XNA 引入 Windows Phone 8 的框架 的所有命名空间都带有前缀Microsoft Xna Framework我相信将 XNA 应用程序移植到 MonoGame 时所需的代码更改量最小化 我的问