aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-04-05 16:45:29 +0800
committer魏曹先生 <1992414357@qq.com>2026-04-05 16:45:29 +0800
commit00c5ce748b56c672d2f4e796d3f0b263200f95f8 (patch)
treef38de9716c237f71e5f4b3b39488b4d5727ae20c
parentde45aece667af6a25c1840d4cdfc27935fb0b490 (diff)
增加了对 Linux 平台的支持
使用 Mono (mcs) 和 Wine (wine) 的方式让项目能在 Linux 系统上运行 - 增加 `lin_build.sh` 和 `lin_run.sh` 脚本,用于编译和执行 - 修改 `Program.cs`:使 Mono 平台不会调用 Application.SetHighDpiMode(HighDpiMode.SystemAware); 函数 - 最后,谴责 *SmallFox*,居然不选择跨平台的框架 \斜眼笑
-rw-r--r--NotePad/NotePad/Program.cs5
-rwxr-xr-xlin_build.sh29
-rwxr-xr-xlin_run.sh12
3 files changed, 43 insertions, 3 deletions
diff --git a/NotePad/NotePad/Program.cs b/NotePad/NotePad/Program.cs
index c1e3d1e..0f5f1bb 100644
--- a/NotePad/NotePad/Program.cs
+++ b/NotePad/NotePad/Program.cs
@@ -1,7 +1,4 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
using System.Windows.Forms;
namespace NotePad
@@ -14,7 +11,9 @@ namespace NotePad
[STAThread]
static void Main()
{
+#if NETFRAMEWORK || NETCOREAPP
Application.SetHighDpiMode(HighDpiMode.SystemAware);
+#endif
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new NotePad());
diff --git a/lin_build.sh b/lin_build.sh
new file mode 100755
index 0000000..f8f0b21
--- /dev/null
+++ b/lin_build.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+# 检查 Mono 编译器是否存在
+if ! command -v mcs &> /dev/null; then
+ echo "ERROR: mcs command not found. Please install Mono."
+ exit 1
+fi
+
+cd "$(dirname "$0")/NotePad/NotePad/"
+
+mkdir -p bin/Linux
+
+# 使用 Mono 编译
+mcs \
+ -target:winexe \
+ -out:bin/Linux/NotePad.exe \
+ -r:System.Windows.Forms \
+ -r:System.Drawing \
+ -r:System \
+ -r:System.Data \
+ -r:System.Xml \
+ Form1.cs Form1.Designer.cs Program.cs
+
+if [ $? -eq 0 ]; then
+ echo "SUCCESS"
+else
+ echo "FAILED"
+ exit 1
+fi
diff --git a/lin_run.sh b/lin_run.sh
new file mode 100755
index 0000000..148fd06
--- /dev/null
+++ b/lin_run.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+# 检查 Wine 是否存在
+if ! command -v wine &> /dev/null; then
+ echo "ERROR: wine command not found. Please install Wine."
+ exit 1
+fi
+
+cd "$(dirname "$0")/NotePad/NotePad/"
+
+# 使用 Wine 运行 NotePad.exe
+wine ./bin/Linux/NotePad.exe