我們試圖在OS X的命令行上運行簡單的Mono腳本。大多數腳本對我們來說工作正常,但作爲一旦我們嘗試使用System.Numerics,就會得到「錯誤CS0234:命名空間System中不存在類型或命名空間名稱`Numerics'。」無法使用System.Numerics在OS X上使用命令行單聲道(mcs)
這並不令人感到意外,應該使用適當的命令行選項修復mcs,並正確設置PKG_CONFIG_PATH ...但這是我們難以理解的地方。首先,這裏的腳本,所以你可以在家裏跟着:
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'」。
「man mcs」表明我們可以通過在命令行中添加「-pkg:dotnet」來獲得其他系統軟件包。但是這產生了:
在pkg-config搜索路徑中找不到包dotnet。或許 您應該將包含`dotnet.pc'的目錄添加到 PKG_CONFIG_PATH環境變量中無包'dotnet'找到錯誤 CS8027:運行pkg-config時出錯。檢查上面的輸出。然後
OK,我們沒有PKG_CONFIG_PATH,所以我們試圖定義一個:
export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig/
此修復CS8027;但我們仍然得到了我們開始的CS0234。如果我結合-pkg和-r,例如「mcs -pkg:dotnet -r:System.Numerics Test.cs」,我得到「錯誤CS0006:無法找到元數據文件'System.Numerics'」。
我很難在這一點上......任何想法什麼咒語我失蹤,使System.Numerics與mcs工作?
謝謝! mcs --version顯示我正在運行2.10.12.0。它有一個-sdk選項,默認爲2,並假設允許4,但是當我嘗試-sdk:4時,我得到一頁錯誤。但是dmcs可以正常工作,所以我們只需要堅持,直到升級到Mono 2.11.x或更高版本。我們真的被難住了 - 感謝您的幫助! –