[英].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的版本
更新資料
。
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.