Fix cwd issues

This commit is contained in:
Louis Lam 2023-02-21 15:16:54 +08:00
parent c061455475
commit 02ddb58686
2 changed files with 66 additions and 0 deletions

65
extra/exe-builder/FS.cs Normal file
View file

@ -0,0 +1,65 @@
using System.IO;
using System.Reflection;
namespace UptimeKuma {
/**
* Current Directory using App location
*/
public class Directory {
private static string baseDir;
public static string FullPath(string path) {
return Path.Combine(GetBaseDir(), path);
}
public static string GetBaseDir() {
if (baseDir == null) {
baseDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
}
return baseDir;
}
public static bool Exists(string path) {
return System.IO.Directory.Exists(FullPath(path));
}
public static void Delete(string path, bool recursive) {
System.IO.Directory.Delete(FullPath(path), recursive);
}
public static void Move(string src, string dest) {
System.IO.Directory.Move(FullPath(src), FullPath(dest));
}
public static string[] GetDirectories(string path) {
return System.IO.Directory.GetDirectories(FullPath(path));
}
}
public class File {
private static string FullPath(string path) {
return Directory.FullPath(path);
}
public static bool Exists(string path) {
return System.IO.File.Exists(FullPath(path));
}
public static FileStream Create(string path) {
return System.IO.File.Create(FullPath(path));
}
public static string ReadAllText(string path) {
return System.IO.File.ReadAllText(FullPath(path));
}
public static void Delete(string path) {
System.IO.File.Delete(FullPath(path));
}
public static void WriteAllText(string path, string content) {
System.IO.File.WriteAllText(FullPath(path), content);
}
}
}

View file

@ -148,6 +148,7 @@
<Compile Include="DownloadForm.Designer.cs"> <Compile Include="DownloadForm.Designer.cs">
<DependentUpon>DownloadForm.cs</DependentUpon> <DependentUpon>DownloadForm.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="FS.cs" />
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Version.cs" /> <Compile Include="Version.cs" />