簡體   English   中英

.NET / Mono框架定位

[英].NET/Mono framework targeting

假設我有2台計算機,一台具有.NET 4.0的MS Windows的計算機,另一台使用Mono 2.10.1的Linux計算機
現在,我在相應的計算機上創建一個命令行應用程序,將使用以下命令輸出已安裝的框架版本:

Console.WriteLine(Environment.Version);  

問題1

我的假設正確,應該顯示以下內容:
Windows:4.0.30319.1
Linux:2.10.1(或類似的東西?)

問題2
假設我們在Windows機器上同時安裝了mono和ms.net,是否有辦法指定exe必須在Windows的mono框架上運行? (也許是配置文件?)

問題3
如果我在Linux機器上編譯一個(簡單的)mono應用程序,那么該編譯后的exe是否可以在僅安裝ms.net的Windows機器上工作?

廣告問題1:您應該期望運行時的版本,而不是Mono的版本

更新資料

  • 問題1(下面的test.cs [1])在Linux上進行了測試:

mono.2.6.7 $ ./test.exe 
2.0.50727.1433
$ source custom/MONO/devenv.sh 
mono.2.11 $ dmcs test.cs
mono.2.11 $ ./test.exe 
WARNING: The runtime version supported by this application is unavailable.
Using default runtime: v1.1.4322
1.1.4322.2032
mono.2.11 $ mono ./test.exe 
4.0.30319.1
mono.2.11 $ 
  • 問題2

    您可以制作一個批處理文件來調用mono.exe myapplication 在%PROGRAMFILES%\\ Mono 2.10 \\ bin中查找大量示例

  • 問題3是的

為了進行兼容性檢查,可以采用另一種方法(檢查實現存根,缺少P / Invoke功能等),其中提供了MoMa工具


test.cs

using System;

namespace X 
{ 
  class Y 
  {
    public static int Main(string[] args)
    {
      Console.WriteLine(Environment.Version);
      return 0;
    }
  } 
}

對於問題2:您可以在Windows環境中將Xamarin studio的運行時默認設置為mono。

您可以從此處運行單聲道運行時間:

Xamarin Studio =>工具=>選項=>項目=> .NET運行時=>添加(在此處添加單聲道)

並將mono標記為默認運行時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM