開源 .NET 框架是否允許內建 Windows 程式相容?

開源 .NET 框架是否允許內建 Windows 程式相容?

可能至少有些人知道,Microsoft 將 .NET 應用程式框架開源。

這是否意味著可以在 Linux 上運行更多 Windows 程序,並透過直接整合 API 以某種方式加快 wine 的速度?或者它更像是一個開發系統,不可能像使用 bash 編寫的程式一樣順利地進行本地整合?

我使用過 wine 並發現,即使在本地安裝它的發行版上,即使是最基本的程序,它最終也會運行緩慢,並且對於虛擬磁碟等,它最終會變得使用起來很痛苦。是否可以在核心/核心層級整合 API,也許可以更改一些內容,以便斜線以不同的方式表示,並添加報告的 Windows 版本並讓它們像本機一樣運行?如果有人認為只有豬自己飛起來才有可能,請告訴我這永遠不會起作用,但我想具體知道為什麼它會起作用或不起作用,而不僅僅是一個字的答案。

答案1

酒和它有什麼關係?讓我們暫時忽略它。

Microsoft 正在開源 .NET 的核心部分,並使 ASP.NET 比以前更開源。就其本身而言,這兩部分將允許您建立命令列應用程式和 ASP.NET 網站。如果您有這樣的現有應用程序,最終應該可以建立 Linux 目標(如果需要的話)並在 Ubuntu 上本機運行它們。

也就是說,製作 GUI 應用程式之類的東西需要一整套 .NET 元件。在 Windows 上,開發人員使用 Windows Presentation Foundation 等工具在螢幕上繪製內容。在 Mono 中,我們可以使用 GTK# 和 Qt# 之類的東西。如果你想要一個跨平台的應用程序,你需要一個跨平台的工具包。

這是一種非常冗長的方式,表示最初不會有太大改變。如果開發人員想要跨平台應用程序,他們以前可以使用 Mono,現在仍然可以。未來,將 Mono 的工具包引入 VS.NET 專案可能會更容易,或者 MS 將以跨平台工具包取代 WPF。

回到葡萄酒。在 Wine 中運行的 .NET 應用程式仍然需要一些東西來為其提供表示庫,並且(如果是本機 Windows 庫)它們仍然需要透過酒所以為他們提供了合適的環境。 Wine 仍然是應用程式和硬體(透過 Linux 的虛擬硬體)之間的紐帶,.NET 位於其之上。我認為這種安排不會很快改變。

相關內容