【问题标题】:Xamarin Studio reports Mono.Unix namespace not found when using GTK#Xamarin Studio 报告使用 GTK 时未找到 Mono.Unix 命名空间#
【发布时间】:2016-05-03 13:07:44
【问题描述】:

我正在尝试在 Xamarin Studio 中创建 GTK# 应用程序,因此我创建了一个 GTK# 解决方案,它使用编辑器生成以下代码

如图所示,它显示一个错误,说明

找不到“单声道”。

我也使用 Unity,因此可能会影响 Mono。

【问题讨论】:

    标签: xamarin mono gtk#


    【解决方案1】:

    这个错误有点误导,这并不意味着没有找到Mono,而是没有找到命名空间“Mono.Unix”。这个命名空间可以在程序集 Mono.Posix 中找到,请添加对它的引用并尝试重新编译。

    【讨论】:

    • 如何添加对 Mono.Posix 的引用
    • Mono.Posix 应该在 GAC 中,因此与添加对其他 .NET 引用的引用相同
    • 我无法在 Xamarin Studio 中通过 Edit References... 选择它。我手动添加了C:\Program Files (x86)\GtkSharp\2.12\lib\Mono.Posix\Mono.Posix.dll,这似乎有效。
    • 哦!你用的是Windows,没注意到
    【解决方案2】:

    我在 OS-X 版本的Xamarin Studio 上也遇到过同样的事情,但我无法告诉你如何重现它(以及确切的解决方案)。

    并且您通过使用xbuild 构建基本上会得到相同的错误,因为生成的gtk/MainWindow.cs 没有正确生成,而是包含在MSBuild“Target CoreCompile”步骤中,因此导致:

    MainWindow.cs(8,3): error CS0103: The name `Build' does not exist in the current context
    

    为我解决的问题是:

    • 将项目设置为不使用 MSBuild
    • 退出并重新启动Xamarin Studio
    • 全部清理
    • 全部构建
    • 如果需要,请将项目设置回使用 MSBuild

    【讨论】:

    • 如何将项目设置为不使用 MSBUILD?
    • 是General页面上Project的options的一个选项(我相信,没有摆在我面前确认)
    • 我禁用了 MS BUILD 并告诉它与 Mono 一起运行,但仍然没有运气
    • 您是否检查过bugzilla.xamarin.com 以查看这是否是已报告/已知的问题...?我从来没有走到那一步,因为我永远无法重现它,以便写一个好的错误报告
    • 当我将它设置为不使用 MSBuild 时,它找不到任何 -sharp 引用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    相关资源
    最近更新 更多