2015-08-26 86 views
2

我想在OSX上使用coreCLR運行一個應用程序(使用xbuild構建)並面臨一些問題。混淆單聲道和coreclr(OS X)

早些時候,我在OSX上安裝了「mono-complete」。我使用「xbuild」構建我的應用程序,然後使用「mono my.exe」運行它。它一切正常。

我想看看我的應用程序「my.exe」是否與coreCLR兼容,以及它是否能夠運行它。

因此,我安裝DNX SDK爲OS X

$ dnvm list 

Active Version    Runtime Arch OperatingSystem Alias 
------ -------    ------- ---- --------------- ----- 
     1.0.0-beta8-15120 coreclr x64 darwin   
    * 1.0.0-beta6   mono   linux/darwin default 

在這一點上,如果我跑 「DNX my.exe」,它運行良好。 (我假設我在這裏使用單聲道運行時?)

但是,如果我切換到coreCLR,「dnx my.exe」不起作用。請看下圖:

$ dnvm use 1.0.0-beta8-15120 -r coreclr 
Adding /Users/test_user/.dnx/runtimes/dnx-coreclr-darwin-x64.1.0.0-beta8-15120/bin to process PATH 

$ dnx my.exe 
'my.exe' does not contain a static 'Main' method suitable for an entry point 
Trace/BPT trap: 5 

我做錯什麼了嗎?

我是否必須使用coreCLR sdk顯式編譯我的應用程序?

我還注意到人們正在使用一種叫做「corerun」的東西。我認爲它類似於「單聲道」命令,它只是使用coreCLR執行應用程序。

那麼在這種情況下「dnx」是幹什麼的?

我在我的系統上找不到「corerun」命令。 DNX SDK是否提供了corerun?

回答

3

Mono等同於.NET Framework。 .NET的核心是完全不同的事情,

http://blogs.msdn.com/b/dotnet/archive/2014/12/04/introducing-net-core.aspx

必須將應用程序編譯和設計針對.NET Core 5的配置文件,以便能夠在.NET核心5.這不是一個自動運行的東西。目前,您只能使用Visual Studio 2015進行此類開發(或使用命令行工具進行代碼編輯)。

corerun是該樣品中稍微描述,

https://github.com/dotnet/coreclr/blob/master/Documentation/building/osx-instructions.md