diff --git a/ArchiSteamFarm/ArchiSteamFarm.csproj b/ArchiSteamFarm/ArchiSteamFarm.csproj
index 6b8fbf9b6..feb1fb306 100644
--- a/ArchiSteamFarm/ArchiSteamFarm.csproj
+++ b/ArchiSteamFarm/ArchiSteamFarm.csproj
@@ -25,7 +25,7 @@
-
+
diff --git a/ArchiSteamFarm/Core/ASF.cs b/ArchiSteamFarm/Core/ASF.cs
index 4cdcce963..059abc281 100644
--- a/ArchiSteamFarm/Core/ASF.cs
+++ b/ArchiSteamFarm/Core/ASF.cs
@@ -308,7 +308,6 @@ namespace ArchiSteamFarm.Core {
return null;
}
-#if TARGET_GENERIC || !TARGET_WINDOWS
if (OperatingSystem.IsFreeBSD() || OperatingSystem.IsLinux() || OperatingSystem.IsMacOS()) {
string executable = Path.Combine(SharedInfo.HomeDirectory, SharedInfo.AssemblyName);
@@ -316,7 +315,6 @@ namespace ArchiSteamFarm.Core {
OS.UnixSetFileAccess(executable, OS.EUnixPermission.Combined755);
}
}
-#endif
ArchiLogger.LogGenericInfo(Strings.UpdateFinished);
diff --git a/ArchiSteamFarm/Core/OS.cs b/ArchiSteamFarm/Core/OS.cs
index daf93aace..74cc466ef 100644
--- a/ArchiSteamFarm/Core/OS.cs
+++ b/ArchiSteamFarm/Core/OS.cs
@@ -90,7 +90,6 @@ namespace ArchiSteamFarm.Core {
private static string? BackingVersion;
private static Mutex? SingleInstance;
-#if TARGET_GENERIC || TARGET_WINDOWS
internal static void CoreInit(bool systemRequired) {
if (OperatingSystem.IsWindows()) {
if (systemRequired) {
@@ -111,9 +110,6 @@ namespace ArchiSteamFarm.Core {
}
}
}
-#else
- internal static void CoreInit(bool _) { }
-#endif
internal static string GetOsResourceName(string objectName) {
if (string.IsNullOrEmpty(objectName)) {
@@ -143,19 +139,15 @@ namespace ArchiSteamFarm.Core {
}
internal static bool IsRunningAsRoot() {
-#if TARGET_GENERIC || TARGET_WINDOWS
if (OperatingSystem.IsWindows()) {
using WindowsIdentity identity = WindowsIdentity.GetCurrent();
return new WindowsPrincipal(identity).IsInRole(WindowsBuiltInRole.Administrator);
}
-#endif
-#if TARGET_GENERIC || !TARGET_WINDOWS
if (OperatingSystem.IsFreeBSD() || OperatingSystem.IsLinux() || OperatingSystem.IsMacOS()) {
return NativeMethods.GetEUID() == 0;
}
-#endif
// We can't determine whether user is running as root or not, so fallback to that not happening
return false;
@@ -201,7 +193,6 @@ namespace ArchiSteamFarm.Core {
return true;
}
-#if TARGET_GENERIC || !TARGET_WINDOWS
[SupportedOSPlatform("FreeBSD")]
[SupportedOSPlatform("Linux")]
[SupportedOSPlatform("MacOS")]
@@ -225,7 +216,6 @@ namespace ArchiSteamFarm.Core {
ASF.ArchiLogger.LogGenericError(string.Format(CultureInfo.CurrentCulture, Strings.WarningFailedWithError, Marshal.GetLastWin32Error()));
}
}
-#endif
internal static void UnregisterProcess() {
if (SingleInstance == null) {
@@ -269,7 +259,6 @@ namespace ArchiSteamFarm.Core {
#endif
}
-#if TARGET_GENERIC || TARGET_WINDOWS
[SupportedOSPlatform("Windows")]
private static void WindowsDisableQuickEditMode() {
if (!OperatingSystem.IsWindows()) {
@@ -307,9 +296,7 @@ namespace ArchiSteamFarm.Core {
ASF.ArchiLogger.LogGenericError(string.Format(CultureInfo.CurrentCulture, Strings.WarningFailedWithError, result));
}
}
-#endif
-#if TARGET_GENERIC || !TARGET_WINDOWS
[Flags]
[SupportedOSPlatform("FreeBSD")]
[SupportedOSPlatform("Linux")]
@@ -327,10 +314,8 @@ namespace ArchiSteamFarm.Core {
Combined755 = UserRead | UserWrite | UserExecute | GroupRead | GroupExecute | OtherRead | OtherExecute,
Combined777 = UserRead | UserWrite | UserExecute | GroupRead | GroupWrite | GroupExecute | OtherRead | OtherWrite | OtherExecute
}
-#endif
private static class NativeMethods {
-#if TARGET_GENERIC || TARGET_WINDOWS
[SupportedOSPlatform("Windows")]
internal const EExecutionState AwakeExecutionState = EExecutionState.SystemRequired | EExecutionState.AwayModeRequired | EExecutionState.Continuous;
@@ -339,9 +324,7 @@ namespace ArchiSteamFarm.Core {
[SupportedOSPlatform("Windows")]
internal const sbyte StandardInputHandle = -10;
-#endif
-#if TARGET_GENERIC || !TARGET_WINDOWS
#pragma warning disable CA2101 // False positive, we can't use unicode charset on Unix, and it uses UTF-8 by default anyway
[DefaultDllImportSearchPaths(DllImportSearchPath.System32)]
[DllImport("libc", EntryPoint = "chmod", SetLastError = true)]
@@ -350,25 +333,19 @@ namespace ArchiSteamFarm.Core {
[SupportedOSPlatform("MacOS")]
internal static extern int Chmod(string path, int mode);
#pragma warning restore CA2101 // False positive, we can't use unicode charset on Unix, and it uses UTF-8 by default anyway
-#endif
-#if TARGET_GENERIC || TARGET_WINDOWS
[DefaultDllImportSearchPaths(DllImportSearchPath.System32)]
[DllImport("kernel32.dll")]
[SupportedOSPlatform("Windows")]
internal static extern bool GetConsoleMode(IntPtr hConsoleHandle, out uint lpMode);
-#endif
-#if TARGET_GENERIC || !TARGET_WINDOWS
[DefaultDllImportSearchPaths(DllImportSearchPath.System32)]
[DllImport("libc", EntryPoint = "geteuid", SetLastError = true)]
[SupportedOSPlatform("FreeBSD")]
[SupportedOSPlatform("Linux")]
[SupportedOSPlatform("MacOS")]
internal static extern uint GetEUID();
-#endif
-#if TARGET_GENERIC || TARGET_WINDOWS
[DefaultDllImportSearchPaths(DllImportSearchPath.System32)]
[DllImport("kernel32.dll")]
[SupportedOSPlatform("Windows")]
@@ -392,7 +369,6 @@ namespace ArchiSteamFarm.Core {
AwayModeRequired = 0x00000040,
Continuous = 0x80000000
}
-#endif
}
}
}
diff --git a/ArchiSteamFarm/Helpers/ArchiCryptoHelper.cs b/ArchiSteamFarm/Helpers/ArchiCryptoHelper.cs
index 1473f93ca..3b6d7b932 100644
--- a/ArchiSteamFarm/Helpers/ArchiCryptoHelper.cs
+++ b/ArchiSteamFarm/Helpers/ArchiCryptoHelper.cs
@@ -217,7 +217,6 @@ namespace ArchiSteamFarm.Helpers {
throw new ArgumentNullException(nameof(encryptedString));
}
-#if TARGET_GENERIC || TARGET_WINDOWS
if (!OperatingSystem.IsWindows()) {
return null;
}
@@ -235,9 +234,6 @@ namespace ArchiSteamFarm.Helpers {
return null;
}
-#else
- return null;
-#endif
}
private static string? EncryptAES(string decryptedString) {
@@ -268,7 +264,6 @@ namespace ArchiSteamFarm.Helpers {
throw new ArgumentNullException(nameof(decryptedString));
}
-#if TARGET_GENERIC || TARGET_WINDOWS
if (!OperatingSystem.IsWindows()) {
return null;
}
@@ -286,9 +281,6 @@ namespace ArchiSteamFarm.Helpers {
return null;
}
-#else
- return null;
-#endif
}
public enum ECryptoMethod : byte {
diff --git a/ArchiSteamFarm/Helpers/CrossProcessFileBasedSemaphore.cs b/ArchiSteamFarm/Helpers/CrossProcessFileBasedSemaphore.cs
index 4f4783641..f6788be04 100644
--- a/ArchiSteamFarm/Helpers/CrossProcessFileBasedSemaphore.cs
+++ b/ArchiSteamFarm/Helpers/CrossProcessFileBasedSemaphore.cs
@@ -19,12 +19,10 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#if TARGET_GENERIC || TARGET_WINDOWS
-using System.Security.AccessControl;
-#endif
using System;
using System.Diagnostics;
using System.IO;
+using System.Security.AccessControl;
using System.Threading;
using System.Threading.Tasks;
using ArchiSteamFarm.Core;
@@ -167,7 +165,6 @@ namespace ArchiSteamFarm.Helpers {
if (!Directory.Exists(directoryPath)) {
Directory.CreateDirectory(directoryPath);
-#if TARGET_GENERIC || TARGET_WINDOWS
if (OperatingSystem.IsWindows()) {
DirectoryInfo directoryInfo = new(directoryPath);
@@ -179,20 +176,14 @@ namespace ArchiSteamFarm.Helpers {
// Non-critical, user might have no rights to manage the resource
ASF.ArchiLogger.LogGenericDebuggingException(e);
}
- }
-#endif
-
-#if TARGET_GENERIC || !TARGET_WINDOWS
- if (OperatingSystem.IsFreeBSD() || OperatingSystem.IsLinux() || OperatingSystem.IsMacOS()) {
+ } else if (OperatingSystem.IsFreeBSD() || OperatingSystem.IsLinux() || OperatingSystem.IsMacOS()) {
OS.UnixSetFileAccess(directoryPath!, OS.EUnixPermission.Combined777);
}
-#endif
}
try {
new FileStream(FilePath, FileMode.CreateNew).Dispose();
-#if TARGET_GENERIC || TARGET_WINDOWS
if (OperatingSystem.IsWindows()) {
FileInfo fileInfo = new(FilePath);
@@ -204,14 +195,9 @@ namespace ArchiSteamFarm.Helpers {
// Non-critical, user might have no rights to manage the resource
ASF.ArchiLogger.LogGenericDebuggingException(e);
}
- }
-#endif
-
-#if TARGET_GENERIC || !TARGET_WINDOWS
- if (OperatingSystem.IsFreeBSD() || OperatingSystem.IsLinux() || OperatingSystem.IsMacOS()) {
+ } else if (OperatingSystem.IsFreeBSD() || OperatingSystem.IsLinux() || OperatingSystem.IsMacOS()) {
OS.UnixSetFileAccess(FilePath, OS.EUnixPermission.Combined777);
}
-#endif
} catch (IOException) {
// Ignored, if the file was already created in the meantime by another instance, this is fine
}
diff --git a/ArchiSteamFarm/IPC/WebUtilities.cs b/ArchiSteamFarm/IPC/WebUtilities.cs
index e76244605..c33af3c83 100644
--- a/ArchiSteamFarm/IPC/WebUtilities.cs
+++ b/ArchiSteamFarm/IPC/WebUtilities.cs
@@ -50,6 +50,7 @@ namespace ArchiSteamFarm.IPC {
return services.Configure(action);
}
#endif
+
internal static string? GetUnifiedName(this Type type) {
if (type == null) {
throw new ArgumentNullException(nameof(type));
diff --git a/ArchiSteamFarm/Program.cs b/ArchiSteamFarm/Program.cs
index cf9a7e295..b3627dd51 100644
--- a/ArchiSteamFarm/Program.cs
+++ b/ArchiSteamFarm/Program.cs
@@ -54,13 +54,13 @@ namespace ArchiSteamFarm {
internal static bool Service { get; private set; }
internal static bool ShutdownSequenceInitialized { get; private set; }
-#if !NETFRAMEWORK && (TARGET_GENERIC || !TARGET_WINDOWS)
+#if !NETFRAMEWORK
private static readonly Dictionary RegisteredPosixSignals = new();
#endif
private static readonly TaskCompletionSource ShutdownResetEvent = new();
-#if !NETFRAMEWORK && (TARGET_GENERIC || !TARGET_WINDOWS)
+#if !NETFRAMEWORK
private static readonly ImmutableHashSet SupportedPosixSignals = ImmutableHashSet.Create(PosixSignal.SIGINT, PosixSignal.SIGTERM);
#endif
@@ -135,7 +135,7 @@ namespace ArchiSteamFarm {
AppDomain.CurrentDomain.UnhandledException += OnUnhandledException;
TaskScheduler.UnobservedTaskException += OnUnobservedTaskException;
-#if !NETFRAMEWORK && (TARGET_GENERIC || !TARGET_WINDOWS)
+#if !NETFRAMEWORK
if (OperatingSystem.IsFreeBSD() || OperatingSystem.IsLinux() || OperatingSystem.IsMacOS()) {
foreach (PosixSignal signal in SupportedPosixSignals) {
RegisteredPosixSignals[signal] = PosixSignalRegistration.Create(signal, OnPosixSignal);
@@ -382,7 +382,7 @@ namespace ArchiSteamFarm {
ShutdownSequenceInitialized = true;
-#if !NETFRAMEWORK && (TARGET_GENERIC || !TARGET_WINDOWS)
+#if !NETFRAMEWORK
if (OperatingSystem.IsFreeBSD() || OperatingSystem.IsLinux() || OperatingSystem.IsMacOS()) {
// Unregister from registered signals
foreach (PosixSignalRegistration registration in RegisteredPosixSignals.Values) {
@@ -429,7 +429,7 @@ namespace ArchiSteamFarm {
private static async void OnCancelKeyPress(object? sender, ConsoleCancelEventArgs e) => await Exit(130).ConfigureAwait(false);
-#if !NETFRAMEWORK && (TARGET_GENERIC || !TARGET_WINDOWS)
+#if !NETFRAMEWORK
private static async void OnPosixSignal(PosixSignalContext signal) {
if (signal == null) {
throw new ArgumentNullException(nameof(signal));
diff --git a/Directory.Build.props b/Directory.Build.props
index 9848dc954..122539b26 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -44,16 +44,6 @@
$(DefineConstants);ASF_VARIANT_$(ASFVariant.Replace('-', '_').ToUpperInvariant())
-
- $(DefineConstants);TARGET_GENERIC
- true
-
-
-
- $(DefineConstants);TARGET_WINDOWS
- true
-
-
AllDisabledByDefault
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 335a9cf44..c92f5e9b9 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -22,7 +22,7 @@
-
+