首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法让System.Numerics在OS X上使用命令行Mono (mcs)

无法让System.Numerics在OS X上使用命令行Mono (mcs)
EN

Stack Overflow用户
提问于 2013-05-16 23:24:47
回答 1查看 1.3K关注 0票数 3

我们试图在OS上的命令行上运行一个简单的Mono脚本。大多数脚本对我们都很好,但是一旦我们尝试使用System.Numerics,我们就会得到"error CS0234:类型或名称空间名称‘’`Numerics‘在命名空间系统中不存在“。

这并不令人惊讶,而且应该用适当的mcs命令行选项来修正,并适当地设置PKG_CONFIG_PATH.但这是我们遇到困难的地方。首先,下面是脚本,这样您就可以在家里继续学习了:

代码语言:javascript
复制
using System;
using System.Numerics;

public static class MainProgram {
    public static void Main(string[] args) {
        Console.WriteLine("Hello world!");
    }
}

接下来,我们尝试了"mcs -r:System.Numerics Test.cs“。这会产生“错误CS0006:元数据文件`System.Numerics‘无法找到”。

“mcs”建议我们可以通过在命令行中添加"-pkg:dotnet“来获得其他系统包。但这就产生了:

在pkg-config搜索路径中找不到Package。也许您应该将包含`dotnet.pc‘的目录添加到PKG_CONFIG_PATH环境变量No package 'dotnet’directory CS8027: error运行pkg-config。检查上面的输出。

那么,我们没有PKG_CONFIG_PATH,所以我们尝试定义一个:

代码语言:javascript
复制
export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/

这修复了CS8027;但是我们仍然得到了我们开始使用的CS0234。如果我将-pkg和-r结合起来,例如"mcs -pkg:dotnet -r:System.Numerics Test.cs",就会得到"error CS0006:元数据文件`System.Numerics‘无法找到“。

我现在很困惑..。你知道我错过了什么咒语让System.Numerics和mcs一起工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-19 03:54:07

如果使用Mono2.10.x,则必须使用dmcs而不是mcs进行编译才能启用4.0配置文件(System.Numerics仅是C# 4.0+功能)。

如果您使用的是Mono2.11.x或3.0.x,那么mcs在默认情况下应该选择4.5配置文件。mcs -help应该显示244.5作为-sdk选项的可能值。如果没有,那么框架就没有正确安装;我曾经安装过一次,其中我认为/Library/Frameworks/Mono.framework/Versions/Current指向了错误的目录;安装了第二次修复。

操作pkg-config应该是不必要的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16599091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档