diff --git a/Discord.Net.targets b/Discord.Net.targets
index 9dee9910e..669db428d 100644
--- a/Discord.Net.targets
+++ b/Discord.Net.targets
@@ -17,6 +17,12 @@
$(BuildNumber)
$(VersionSuffix)-$(BuildNumber)
+
+ $(DefineConstants);FILESYSTEM;DEFAULTUDPCLIENT;DEFAULTWEBSOCKET
+
+
+ $(DefineConstants);FORMATSTR;UNIXTIME;MSTRYBUFFER;UDPDISPOSE
+
$(NoWarn);CS1573;CS1591
true
diff --git a/src/Discord.Net.Core/Discord.Net.Core.csproj b/src/Discord.Net.Core/Discord.Net.Core.csproj
index d0e9e999d..4f20dad3b 100644
--- a/src/Discord.Net.Core/Discord.Net.Core.csproj
+++ b/src/Discord.Net.Core/Discord.Net.Core.csproj
@@ -4,7 +4,7 @@
Discord.Net.Core
Discord
The core components for the Discord.Net library.
- netstandard1.1;netstandard1.3
+ net45;netstandard1.1;netstandard1.3
diff --git a/src/Discord.Net.Core/Entities/Channels/IMessageChannel.cs b/src/Discord.Net.Core/Entities/Channels/IMessageChannel.cs
index 9c9c63929..7fce1e855 100644
--- a/src/Discord.Net.Core/Entities/Channels/IMessageChannel.cs
+++ b/src/Discord.Net.Core/Entities/Channels/IMessageChannel.cs
@@ -9,7 +9,7 @@ namespace Discord
{
/// Sends a message to this message channel.
Task SendMessageAsync(string text, bool isTTS = false, Embed embed = null, RequestOptions options = null);
-#if NETSTANDARD1_3
+#if FILESYSTEM
/// Sends a file to this text channel, with an optional caption.
Task SendFileAsync(string filePath, string text = null, bool isTTS = false, RequestOptions options = null);
#endif
diff --git a/src/Discord.Net.Core/Entities/Image.cs b/src/Discord.Net.Core/Entities/Image.cs
index 59fe8bbdb..c2c997365 100644
--- a/src/Discord.Net.Core/Entities/Image.cs
+++ b/src/Discord.Net.Core/Entities/Image.cs
@@ -15,7 +15,7 @@ namespace Discord
{
Stream = stream;
}
-#if NETSTANDARD1_3
+#if FILESYSTEM
///
/// Create the image from a file path.
///
diff --git a/src/Discord.Net.Core/Logging/LogManager.cs b/src/Discord.Net.Core/Logging/LogManager.cs
index 6f87d1229..995a5d96a 100644
--- a/src/Discord.Net.Core/Logging/LogManager.cs
+++ b/src/Discord.Net.Core/Logging/LogManager.cs
@@ -35,7 +35,7 @@ namespace Discord.Logging
}
catch { }
}
-#if NETSTANDARD1_3
+#if FORMATSTR
public async Task LogAsync(LogSeverity severity, string source, FormattableString message, Exception ex = null)
{
try
@@ -51,7 +51,7 @@ namespace Discord.Logging
=> LogAsync(LogSeverity.Error, source, ex);
public Task ErrorAsync(string source, string message, Exception ex = null)
=> LogAsync(LogSeverity.Error, source, message, ex);
-#if NETSTANDARD1_3
+#if FORMATSTR
public Task ErrorAsync(string source, FormattableString message, Exception ex = null)
=> LogAsync(LogSeverity.Error, source, message, ex);
#endif
@@ -60,7 +60,7 @@ namespace Discord.Logging
=> LogAsync(LogSeverity.Warning, source, ex);
public Task WarningAsync(string source, string message, Exception ex = null)
=> LogAsync(LogSeverity.Warning, source, message, ex);
-#if NETSTANDARD1_3
+#if FORMATSTR
public Task WarningAsync(string source, FormattableString message, Exception ex = null)
=> LogAsync(LogSeverity.Warning, source, message, ex);
#endif
@@ -69,7 +69,7 @@ namespace Discord.Logging
=> LogAsync(LogSeverity.Info, source, ex);
public Task InfoAsync(string source, string message, Exception ex = null)
=> LogAsync(LogSeverity.Info, source, message, ex);
-#if NETSTANDARD1_3
+#if FORMATSTR
public Task InfoAsync(string source, FormattableString message, Exception ex = null)
=> LogAsync(LogSeverity.Info, source, message, ex);
#endif
@@ -78,7 +78,7 @@ namespace Discord.Logging
=> LogAsync(LogSeverity.Verbose, source, ex);
public Task VerboseAsync(string source, string message, Exception ex = null)
=> LogAsync(LogSeverity.Verbose, source, message, ex);
-#if NETSTANDARD1_3
+#if FORMATSTR
public Task VerboseAsync(string source, FormattableString message, Exception ex = null)
=> LogAsync(LogSeverity.Verbose, source, message, ex);
#endif
@@ -87,7 +87,7 @@ namespace Discord.Logging
=> LogAsync(LogSeverity.Debug, source, ex);
public Task DebugAsync(string source, string message, Exception ex = null)
=> LogAsync(LogSeverity.Debug, source, message, ex);
-#if NETSTANDARD1_3
+#if FORMATSTR
public Task DebugAsync(string source, FormattableString message, Exception ex = null)
=> LogAsync(LogSeverity.Debug, source, message, ex);
#endif
diff --git a/src/Discord.Net.Core/Logging/Logger.cs b/src/Discord.Net.Core/Logging/Logger.cs
index cff69a84c..a8d88b2b4 100644
--- a/src/Discord.Net.Core/Logging/Logger.cs
+++ b/src/Discord.Net.Core/Logging/Logger.cs
@@ -20,7 +20,7 @@ namespace Discord.Logging
=> _manager.LogAsync(severity, Name, exception);
public Task LogAsync(LogSeverity severity, string message, Exception exception = null)
=> _manager.LogAsync(severity, Name, message, exception);
-#if NETSTANDARD1_3
+#if FORMATSTR
public Task LogAsync(LogSeverity severity, FormattableString message, Exception exception = null)
=> _manager.LogAsync(severity, Name, message, exception);
#endif
@@ -29,7 +29,7 @@ namespace Discord.Logging
=> _manager.ErrorAsync(Name, exception);
public Task ErrorAsync(string message, Exception exception = null)
=> _manager.ErrorAsync(Name, message, exception);
-#if NETSTANDARD1_3
+#if FORMATSTR
public Task ErrorAsync(FormattableString message, Exception exception = null)
=> _manager.ErrorAsync(Name, message, exception);
#endif
@@ -38,7 +38,7 @@ namespace Discord.Logging
=> _manager.WarningAsync(Name, exception);
public Task WarningAsync(string message, Exception exception = null)
=> _manager.WarningAsync(Name, message, exception);
-#if NETSTANDARD1_3
+#if FORMATSTR
public Task WarningAsync(FormattableString message, Exception exception = null)
=> _manager.WarningAsync(Name, message, exception);
#endif
@@ -47,7 +47,7 @@ namespace Discord.Logging
=> _manager.InfoAsync(Name, exception);
public Task InfoAsync(string message, Exception exception = null)
=> _manager.InfoAsync(Name, message, exception);
-#if NETSTANDARD1_3
+#if FORMATSTR
public Task InfoAsync(FormattableString message, Exception exception = null)
=> _manager.InfoAsync(Name, message, exception);
#endif
@@ -56,7 +56,7 @@ namespace Discord.Logging
=> _manager.VerboseAsync(Name, exception);
public Task VerboseAsync(string message, Exception exception = null)
=> _manager.VerboseAsync(Name, message, exception);
-#if NETSTANDARD1_3
+#if FORMATSTR
public Task VerboseAsync(FormattableString message, Exception exception = null)
=> _manager.VerboseAsync(Name, message, exception);
#endif
@@ -65,7 +65,7 @@ namespace Discord.Logging
=> _manager.DebugAsync(Name, exception);
public Task DebugAsync(string message, Exception exception = null)
=> _manager.DebugAsync(Name, message, exception);
-#if NETSTANDARD1_3
+#if FORMATSTR
public Task DebugAsync(FormattableString message, Exception exception = null)
=> _manager.DebugAsync(Name, message, exception);
#endif
diff --git a/src/Discord.Net.Core/Utils/DateTimeUtils.cs b/src/Discord.Net.Core/Utils/DateTimeUtils.cs
index 109c8c791..af2126853 100644
--- a/src/Discord.Net.Core/Utils/DateTimeUtils.cs
+++ b/src/Discord.Net.Core/Utils/DateTimeUtils.cs
@@ -5,7 +5,7 @@ namespace Discord
//Source: https://github.com/dotnet/coreclr/blob/master/src/mscorlib/src/System/DateTimeOffset.cs
internal static class DateTimeUtils
{
-#if !NETSTANDARD1_3
+#if !UNIXTIME
private const long UnixEpochTicks = 621_355_968_000_000_000;
private const long UnixEpochSeconds = 62_135_596_800;
private const long UnixEpochMilliseconds = 62_135_596_800_000;
@@ -18,7 +18,7 @@ namespace Discord
public static DateTimeOffset FromUnixSeconds(long seconds)
{
-#if NETSTANDARD1_3
+#if UNIXTIME
return DateTimeOffset.FromUnixTimeSeconds(seconds);
#else
long ticks = seconds * TimeSpan.TicksPerSecond + UnixEpochTicks;
@@ -27,7 +27,7 @@ namespace Discord
}
public static DateTimeOffset FromUnixMilliseconds(long milliseconds)
{
-#if NETSTANDARD1_3
+#if UNIXTIME
return DateTimeOffset.FromUnixTimeMilliseconds(milliseconds);
#else
long ticks = milliseconds * TimeSpan.TicksPerMillisecond + UnixEpochTicks;
@@ -37,7 +37,7 @@ namespace Discord
public static long ToUnixSeconds(DateTimeOffset dto)
{
-#if NETSTANDARD1_3
+#if UNIXTIME
return dto.ToUnixTimeSeconds();
#else
long seconds = dto.UtcDateTime.Ticks / TimeSpan.TicksPerSecond;
@@ -46,7 +46,7 @@ namespace Discord
}
public static long ToUnixMilliseconds(DateTimeOffset dto)
{
-#if NETSTANDARD1_3
+#if UNIXTIME
return dto.ToUnixTimeMilliseconds();
#else
long milliseconds = dto.UtcDateTime.Ticks / TimeSpan.TicksPerMillisecond;
diff --git a/src/Discord.Net.DebugTools/Discord.Net.DebugTools.csproj b/src/Discord.Net.DebugTools/Discord.Net.DebugTools.csproj
index 05230433d..1a0d08c4d 100644
--- a/src/Discord.Net.DebugTools/Discord.Net.DebugTools.csproj
+++ b/src/Discord.Net.DebugTools/Discord.Net.DebugTools.csproj
@@ -4,7 +4,7 @@
Discord.Net.DebugTools
Discord
A Discord.Net extension adding some helper classes for diagnosing issues.
- netstandard1.6
+ net45;netstandard1.3
diff --git a/src/Discord.Net.DebugTools/UnstableWebSocketClient.cs b/src/Discord.Net.DebugTools/UnstableWebSocketClient.cs
index a0f28ba0a..4f45503c9 100644
--- a/src/Discord.Net.DebugTools/UnstableWebSocketClient.cs
+++ b/src/Discord.Net.DebugTools/UnstableWebSocketClient.cs
@@ -213,11 +213,14 @@ namespace Discord.Net.Providers.UnstableWebSocket
//Use the internal buffer if we can get it
resultCount = (int)stream.Length;
- ArraySegment streamBuffer;
- if (stream.TryGetBuffer(out streamBuffer))
+#if MSTRYBUFFER
+ if (stream.TryGetBuffer(out var streamBuffer))
result = streamBuffer.Array;
else
result = stream.ToArray();
+#else
+ result = stream.GetBuffer();
+#endif
}
}
else
diff --git a/src/Discord.Net.Rest/Discord.Net.Rest.csproj b/src/Discord.Net.Rest/Discord.Net.Rest.csproj
index 79fe14c09..c8da70c6b 100644
--- a/src/Discord.Net.Rest/Discord.Net.Rest.csproj
+++ b/src/Discord.Net.Rest/Discord.Net.Rest.csproj
@@ -4,7 +4,7 @@
Discord.Net.Rest
Discord.Rest
A core Discord.Net library containing the REST client and models.
- netstandard1.1;netstandard1.3
+ net45;netstandard1.1;netstandard1.3
diff --git a/src/Discord.Net.Rest/Entities/Channels/ChannelHelper.cs b/src/Discord.Net.Rest/Entities/Channels/ChannelHelper.cs
index 6f0aa67de..e6d017a89 100644
--- a/src/Discord.Net.Rest/Entities/Channels/ChannelHelper.cs
+++ b/src/Discord.Net.Rest/Entities/Channels/ChannelHelper.cs
@@ -163,7 +163,7 @@ namespace Discord.Rest
return RestUserMessage.Create(client, channel, client.CurrentUser, model);
}
-#if NETSTANDARD1_3
+#if FILESYSTEM
public static async Task SendFileAsync(IMessageChannel channel, BaseDiscordClient client,
string filePath, string text, bool isTTS, RequestOptions options)
{
diff --git a/src/Discord.Net.Rest/Entities/Channels/IRestMessageChannel.cs b/src/Discord.Net.Rest/Entities/Channels/IRestMessageChannel.cs
index 2c006834c..3a104dd9c 100644
--- a/src/Discord.Net.Rest/Entities/Channels/IRestMessageChannel.cs
+++ b/src/Discord.Net.Rest/Entities/Channels/IRestMessageChannel.cs
@@ -8,7 +8,7 @@ namespace Discord.Rest
{
/// Sends a message to this message channel.
new Task SendMessageAsync(string text, bool isTTS = false, Embed embed = null, RequestOptions options = null);
-#if NETSTANDARD1_3
+#if FILESYSTEM
/// Sends a file to this text channel, with an optional caption.
new Task SendFileAsync(string filePath, string text = null, bool isTTS = false, RequestOptions options = null);
#endif
diff --git a/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs b/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs
index 75b331499..0a4bc9522 100644
--- a/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs
+++ b/src/Discord.Net.Rest/Entities/Channels/RestDMChannel.cs
@@ -65,7 +65,7 @@ namespace Discord.Rest
public Task SendMessageAsync(string text, bool isTTS = false, Embed embed = null, RequestOptions options = null)
=> ChannelHelper.SendMessageAsync(this, Discord, text, isTTS, embed, options);
-#if NETSTANDARD1_3
+#if FILESYSTEM
public Task SendFileAsync(string filePath, string text, bool isTTS = false, RequestOptions options = null)
=> ChannelHelper.SendFileAsync(this, Discord, filePath, text, isTTS, options);
#endif
@@ -124,7 +124,7 @@ namespace Discord.Rest
async Task> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options)
=> await GetPinnedMessagesAsync(options).ConfigureAwait(false);
-#if NETSTANDARD1_3
+#if FILESYSTEM
async Task IMessageChannel.SendFileAsync(string filePath, string text, bool isTTS, RequestOptions options)
=> await SendFileAsync(filePath, text, isTTS, options).ConfigureAwait(false);
#endif
diff --git a/src/Discord.Net.Rest/Entities/Channels/RestGroupChannel.cs b/src/Discord.Net.Rest/Entities/Channels/RestGroupChannel.cs
index 93e24e05b..b324422a5 100644
--- a/src/Discord.Net.Rest/Entities/Channels/RestGroupChannel.cs
+++ b/src/Discord.Net.Rest/Entities/Channels/RestGroupChannel.cs
@@ -78,7 +78,7 @@ namespace Discord.Rest
public Task SendMessageAsync(string text, bool isTTS = false, Embed embed = null, RequestOptions options = null)
=> ChannelHelper.SendMessageAsync(this, Discord, text, isTTS, embed, options);
-#if NETSTANDARD1_3
+#if FILESYSTEM
public Task SendFileAsync(string filePath, string text, bool isTTS = false, RequestOptions options = null)
=> ChannelHelper.SendFileAsync(this, Discord, filePath, text, isTTS, options);
#endif
@@ -134,7 +134,7 @@ namespace Discord.Rest
async Task> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options)
=> await GetPinnedMessagesAsync(options).ConfigureAwait(false);
-#if NETSTANDARD1_3
+#if FILESYSTEM
async Task IMessageChannel.SendFileAsync(string filePath, string text, bool isTTS, RequestOptions options)
=> await SendFileAsync(filePath, text, isTTS, options).ConfigureAwait(false);
#endif
diff --git a/src/Discord.Net.Rest/Entities/Channels/RestTextChannel.cs b/src/Discord.Net.Rest/Entities/Channels/RestTextChannel.cs
index 2687312a7..2fe9feb91 100644
--- a/src/Discord.Net.Rest/Entities/Channels/RestTextChannel.cs
+++ b/src/Discord.Net.Rest/Entities/Channels/RestTextChannel.cs
@@ -56,7 +56,7 @@ namespace Discord.Rest
public Task SendMessageAsync(string text, bool isTTS = false, Embed embed = null, RequestOptions options = null)
=> ChannelHelper.SendMessageAsync(this, Discord, text, isTTS, embed, options);
-#if NETSTANDARD1_3
+#if FILESYSTEM
public Task SendFileAsync(string filePath, string text, bool isTTS = false, RequestOptions options = null)
=> ChannelHelper.SendFileAsync(this, Discord, filePath, text, isTTS, options);
#endif
@@ -105,7 +105,7 @@ namespace Discord.Rest
async Task> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options)
=> await GetPinnedMessagesAsync(options).ConfigureAwait(false);
-#if NETSTANDARD1_3
+#if FILESYSTEM
async Task IMessageChannel.SendFileAsync(string filePath, string text, bool isTTS, RequestOptions options)
=> await SendFileAsync(filePath, text, isTTS, options).ConfigureAwait(false);
#endif
diff --git a/src/Discord.Net.Rest/Entities/Channels/RpcVirtualMessageChannel.cs b/src/Discord.Net.Rest/Entities/Channels/RpcVirtualMessageChannel.cs
index 2c69a3395..7e515978d 100644
--- a/src/Discord.Net.Rest/Entities/Channels/RpcVirtualMessageChannel.cs
+++ b/src/Discord.Net.Rest/Entities/Channels/RpcVirtualMessageChannel.cs
@@ -35,7 +35,7 @@ namespace Discord.Rest
public Task SendMessageAsync(string text, bool isTTS, Embed embed = null, RequestOptions options = null)
=> ChannelHelper.SendMessageAsync(this, Discord, text, isTTS, embed, options);
-#if NETSTANDARD1_3
+#if FILESYSTEM
public Task SendFileAsync(string filePath, string text, bool isTTS, RequestOptions options = null)
=> ChannelHelper.SendFileAsync(this, Discord, filePath, text, isTTS, options);
#endif
@@ -84,7 +84,7 @@ namespace Discord.Rest
async Task> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options)
=> await GetPinnedMessagesAsync(options);
-#if NETSTANDARD1_3
+#if FILESYSTEM
async Task IMessageChannel.SendFileAsync(string filePath, string text, bool isTTS, RequestOptions options)
=> await SendFileAsync(filePath, text, isTTS, options);
#endif
diff --git a/src/Discord.Net.Rpc/Discord.Net.Rpc.csproj b/src/Discord.Net.Rpc/Discord.Net.Rpc.csproj
index f3adeff6a..3561e6da5 100644
--- a/src/Discord.Net.Rpc/Discord.Net.Rpc.csproj
+++ b/src/Discord.Net.Rpc/Discord.Net.Rpc.csproj
@@ -4,7 +4,7 @@
Discord.Net.Rpc
Discord.Rpc
A core Discord.Net library containing the RPC client and models.
- netstandard1.1;netstandard1.3
+ net45;netstandard1.1;netstandard1.3
diff --git a/src/Discord.Net.Rpc/DiscordRpcConfig.cs b/src/Discord.Net.Rpc/DiscordRpcConfig.cs
index 1866e838b..fd6b74ff1 100644
--- a/src/Discord.Net.Rpc/DiscordRpcConfig.cs
+++ b/src/Discord.Net.Rpc/DiscordRpcConfig.cs
@@ -19,7 +19,7 @@ namespace Discord.Rpc
public DiscordRpcConfig()
{
-#if NETSTANDARD1_3
+#if FILESYSTEM
WebSocketProvider = () => new DefaultWebSocketClient();
#else
WebSocketProvider = () =>
diff --git a/src/Discord.Net.Rpc/Entities/Channels/RpcDMChannel.cs b/src/Discord.Net.Rpc/Entities/Channels/RpcDMChannel.cs
index 1fb6d5867..b2c3daaa2 100644
--- a/src/Discord.Net.Rpc/Entities/Channels/RpcDMChannel.cs
+++ b/src/Discord.Net.Rpc/Entities/Channels/RpcDMChannel.cs
@@ -46,7 +46,7 @@ namespace Discord.Rpc
public Task SendMessageAsync(string text, bool isTTS = false, Embed embed = null, RequestOptions options = null)
=> ChannelHelper.SendMessageAsync(this, Discord, text, isTTS, embed, options);
-#if NETSTANDARD1_3
+#if FILESYSTEM
public Task SendFileAsync(string filePath, string text, bool isTTS = false, RequestOptions options = null)
=> ChannelHelper.SendFileAsync(this, Discord, filePath, text, isTTS, options);
#endif
@@ -102,7 +102,7 @@ namespace Discord.Rpc
async Task> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options)
=> await GetPinnedMessagesAsync(options).ConfigureAwait(false);
-#if NETSTANDARD1_3
+#if FILESYSTEM
async Task IMessageChannel.SendFileAsync(string filePath, string text, bool isTTS, RequestOptions options)
=> await SendFileAsync(filePath, text, isTTS, options).ConfigureAwait(false);
#endif
diff --git a/src/Discord.Net.Rpc/Entities/Channels/RpcGroupChannel.cs b/src/Discord.Net.Rpc/Entities/Channels/RpcGroupChannel.cs
index c365ad4ff..b5effacc6 100644
--- a/src/Discord.Net.Rpc/Entities/Channels/RpcGroupChannel.cs
+++ b/src/Discord.Net.Rpc/Entities/Channels/RpcGroupChannel.cs
@@ -49,7 +49,7 @@ namespace Discord.Rpc
public Task SendMessageAsync(string text, bool isTTS = false, Embed embed = null, RequestOptions options = null)
=> ChannelHelper.SendMessageAsync(this, Discord, text, isTTS, embed, options);
-#if NETSTANDARD1_3
+#if FILESYSTEM
public Task SendFileAsync(string filePath, string text, bool isTTS = false, RequestOptions options = null)
=> ChannelHelper.SendFileAsync(this, Discord, filePath, text, isTTS, options);
#endif
@@ -102,7 +102,7 @@ namespace Discord.Rpc
async Task> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options)
=> await GetPinnedMessagesAsync(options).ConfigureAwait(false);
-#if NETSTANDARD1_3
+#if FILESYSTEM
async Task IMessageChannel.SendFileAsync(string filePath, string text, bool isTTS, RequestOptions options)
=> await SendFileAsync(filePath, text, isTTS, options).ConfigureAwait(false);
#endif
diff --git a/src/Discord.Net.Rpc/Entities/Channels/RpcTextChannel.cs b/src/Discord.Net.Rpc/Entities/Channels/RpcTextChannel.cs
index 9a88072b9..bdfafa561 100644
--- a/src/Discord.Net.Rpc/Entities/Channels/RpcTextChannel.cs
+++ b/src/Discord.Net.Rpc/Entities/Channels/RpcTextChannel.cs
@@ -50,7 +50,7 @@ namespace Discord.Rpc
public Task SendMessageAsync(string text, bool isTTS = false, Embed embed = null, RequestOptions options = null)
=> ChannelHelper.SendMessageAsync(this, Discord, text, isTTS, embed, options);
-#if NETSTANDARD1_3
+#if FILESYSTEM
public Task SendFileAsync(string filePath, string text, bool isTTS = false, RequestOptions options = null)
=> ChannelHelper.SendFileAsync(this, Discord, filePath, text, isTTS, options);
#endif
@@ -102,7 +102,7 @@ namespace Discord.Rpc
async Task> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options)
=> await GetPinnedMessagesAsync(options).ConfigureAwait(false);
-#if NETSTANDARD1_3
+#if FILESYSTEM
async Task IMessageChannel.SendFileAsync(string filePath, string text, bool isTTS, RequestOptions options)
=> await SendFileAsync(filePath, text, isTTS, options).ConfigureAwait(false);
#endif
diff --git a/src/Discord.Net.WebSocket/Discord.Net.WebSocket.csproj b/src/Discord.Net.WebSocket/Discord.Net.WebSocket.csproj
index 37fbc1edd..2b0dcf1fe 100644
--- a/src/Discord.Net.WebSocket/Discord.Net.WebSocket.csproj
+++ b/src/Discord.Net.WebSocket/Discord.Net.WebSocket.csproj
@@ -4,7 +4,7 @@
Discord.Net.WebSocket
Discord.WebSocket
A core Discord.Net library containing the WebSocket client and models.
- netstandard1.1;netstandard1.3
+ net45;netstandard1.1;netstandard1.3
true
diff --git a/src/Discord.Net.WebSocket/Entities/Channels/ISocketMessageChannel.cs b/src/Discord.Net.WebSocket/Entities/Channels/ISocketMessageChannel.cs
index 43246f5ca..e2119e7a2 100644
--- a/src/Discord.Net.WebSocket/Entities/Channels/ISocketMessageChannel.cs
+++ b/src/Discord.Net.WebSocket/Entities/Channels/ISocketMessageChannel.cs
@@ -12,7 +12,7 @@ namespace Discord.WebSocket
/// Sends a message to this message channel.
new Task SendMessageAsync(string text, bool isTTS = false, Embed embed = null, RequestOptions options = null);
-#if NETSTANDARD1_3
+#if FILESYSTEM
/// Sends a file to this text channel, with an optional caption.
new Task SendFileAsync(string filePath, string text = null, bool isTTS = false, RequestOptions options = null);
#endif
diff --git a/src/Discord.Net.WebSocket/Entities/Channels/SocketDMChannel.cs b/src/Discord.Net.WebSocket/Entities/Channels/SocketDMChannel.cs
index c976b64f8..4d79d1ab4 100644
--- a/src/Discord.Net.WebSocket/Entities/Channels/SocketDMChannel.cs
+++ b/src/Discord.Net.WebSocket/Entities/Channels/SocketDMChannel.cs
@@ -68,7 +68,7 @@ namespace Discord.WebSocket
public Task SendMessageAsync(string text, bool isTTS = false, Embed embed = null, RequestOptions options = null)
=> ChannelHelper.SendMessageAsync(this, Discord, text, isTTS, embed, options);
-#if NETSTANDARD1_3
+#if FILESYSTEM
public Task SendFileAsync(string filePath, string text, bool isTTS = false, RequestOptions options = null)
=> ChannelHelper.SendFileAsync(this, Discord, filePath, text, isTTS, options);
#endif
@@ -132,7 +132,7 @@ namespace Discord.WebSocket
=> SocketChannelHelper.GetMessagesAsync(this, Discord, _messages, fromMessage.Id, dir, limit, mode, options);
async Task> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options)
=> await GetPinnedMessagesAsync(options).ConfigureAwait(false);
-#if NETSTANDARD1_3
+#if FILESYSTEM
async Task IMessageChannel.SendFileAsync(string filePath, string text, bool isTTS, RequestOptions options)
=> await SendFileAsync(filePath, text, isTTS, options).ConfigureAwait(false);
#endif
diff --git a/src/Discord.Net.WebSocket/Entities/Channels/SocketGroupChannel.cs b/src/Discord.Net.WebSocket/Entities/Channels/SocketGroupChannel.cs
index bb4ed7344..bdf9dbc2b 100644
--- a/src/Discord.Net.WebSocket/Entities/Channels/SocketGroupChannel.cs
+++ b/src/Discord.Net.WebSocket/Entities/Channels/SocketGroupChannel.cs
@@ -97,7 +97,7 @@ namespace Discord.WebSocket
public Task SendMessageAsync(string text, bool isTTS = false, Embed embed = null, RequestOptions options = null)
=> ChannelHelper.SendMessageAsync(this, Discord, text, isTTS, embed, options);
-#if NETSTANDARD1_3
+#if FILESYSTEM
public Task SendFileAsync(string filePath, string text, bool isTTS = false, RequestOptions options = null)
=> ChannelHelper.SendFileAsync(this, Discord, filePath, text, isTTS, options);
#endif
@@ -196,7 +196,7 @@ namespace Discord.WebSocket
=> SocketChannelHelper.GetMessagesAsync(this, Discord, _messages, fromMessage.Id, dir, limit, mode, options);
async Task> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options)
=> await GetPinnedMessagesAsync(options).ConfigureAwait(false);
-#if NETSTANDARD1_3
+#if FILESYSTEM
async Task IMessageChannel.SendFileAsync(string filePath, string text, bool isTTS, RequestOptions options)
=> await SendFileAsync(filePath, text, isTTS, options).ConfigureAwait(false);
#endif
diff --git a/src/Discord.Net.WebSocket/Entities/Channels/SocketTextChannel.cs b/src/Discord.Net.WebSocket/Entities/Channels/SocketTextChannel.cs
index 98aefcf9b..e75b6a4f1 100644
--- a/src/Discord.Net.WebSocket/Entities/Channels/SocketTextChannel.cs
+++ b/src/Discord.Net.WebSocket/Entities/Channels/SocketTextChannel.cs
@@ -73,7 +73,7 @@ namespace Discord.WebSocket
public Task SendMessageAsync(string text, bool isTTS = false, Embed embed = null, RequestOptions options = null)
=> ChannelHelper.SendMessageAsync(this, Discord, text, isTTS, embed, options);
-#if NETSTANDARD1_3
+#if FILESYSTEM
public Task SendFileAsync(string filePath, string text, bool isTTS = false, RequestOptions options = null)
=> ChannelHelper.SendFileAsync(this, Discord, filePath, text, isTTS, options);
#endif
@@ -132,7 +132,7 @@ namespace Discord.WebSocket
=> SocketChannelHelper.GetMessagesAsync(this, Discord, _messages, fromMessage.Id, dir, limit, mode, options);
async Task> IMessageChannel.GetPinnedMessagesAsync(RequestOptions options)
=> await GetPinnedMessagesAsync(options).ConfigureAwait(false);
-#if NETSTANDARD1_3
+#if FILESYSTEM
async Task IMessageChannel.SendFileAsync(string filePath, string text, bool isTTS, RequestOptions options)
=> await SendFileAsync(filePath, text, isTTS, options).ConfigureAwait(false);
#endif
diff --git a/src/Discord.Net.WebSocket/Net/DefaultUdpSocket.cs b/src/Discord.Net.WebSocket/Net/DefaultUdpSocket.cs
index 013ba62fc..6a6194397 100644
--- a/src/Discord.Net.WebSocket/Net/DefaultUdpSocket.cs
+++ b/src/Discord.Net.WebSocket/Net/DefaultUdpSocket.cs
@@ -1,4 +1,4 @@
-#if NETSTANDARD1_3
+#if DEFAULTUDPCLIENT
using System;
using System.Net;
using System.Net.Sockets;
@@ -85,7 +85,11 @@ namespace Discord.Net.Udp
if (_udp != null)
{
+#if UDPDISPOSE
try { _udp.Dispose(); }
+#else
+ try { _udp.Close(); }
+#endif
catch { }
_udp = null;
}
diff --git a/src/Discord.Net.WebSocket/Net/DefaultUdpSocketProvider.cs b/src/Discord.Net.WebSocket/Net/DefaultUdpSocketProvider.cs
index cba4fecb0..82b6ec4c0 100644
--- a/src/Discord.Net.WebSocket/Net/DefaultUdpSocketProvider.cs
+++ b/src/Discord.Net.WebSocket/Net/DefaultUdpSocketProvider.cs
@@ -4,7 +4,7 @@ namespace Discord.Net.Udp
{
public static class DefaultUdpSocketProvider
{
-#if NETSTANDARD1_3
+#if DEFAULTUDPCLIENT
public static readonly UdpSocketProvider Instance = () =>
{
try
diff --git a/src/Discord.Net.WebSocket/Net/DefaultWebSocketClient.cs b/src/Discord.Net.WebSocket/Net/DefaultWebSocketClient.cs
index 92175a917..282ae210a 100644
--- a/src/Discord.Net.WebSocket/Net/DefaultWebSocketClient.cs
+++ b/src/Discord.Net.WebSocket/Net/DefaultWebSocketClient.cs
@@ -1,4 +1,4 @@
-#if NETSTANDARD1_3
+#if DEFAULTWEBSOCKET
using System;
using System.Collections.Generic;
using System.ComponentModel;
@@ -206,10 +206,14 @@ namespace Discord.Net.WebSockets
//Use the internal buffer if we can get it
resultCount = (int)stream.Length;
- if (stream.TryGetBuffer(out ArraySegment streamBuffer))
+#if MSTRYBUFFER
+ if (stream.TryGetBuffer(out var streamBuffer))
result = streamBuffer.Array;
else
result = stream.ToArray();
+#else
+ result = stream.GetBuffer();
+#endif
}
}
else
diff --git a/src/Discord.Net.WebSocket/Net/DefaultWebSocketClientProvider.cs b/src/Discord.Net.WebSocket/Net/DefaultWebSocketClientProvider.cs
index d93ded57d..04b3f8388 100644
--- a/src/Discord.Net.WebSocket/Net/DefaultWebSocketClientProvider.cs
+++ b/src/Discord.Net.WebSocket/Net/DefaultWebSocketClientProvider.cs
@@ -4,7 +4,7 @@ namespace Discord.Net.WebSockets
{
public static class DefaultWebSocketProvider
{
-#if NETSTANDARD1_3
+#if DEFAULTWEBSOCKET
public static readonly WebSocketProvider Instance = () =>
{
try
diff --git a/src/Discord.Net.Webhook/Discord.Net.Webhook.csproj b/src/Discord.Net.Webhook/Discord.Net.Webhook.csproj
index d5072c18a..7246624e5 100644
--- a/src/Discord.Net.Webhook/Discord.Net.Webhook.csproj
+++ b/src/Discord.Net.Webhook/Discord.Net.Webhook.csproj
@@ -4,7 +4,7 @@
Discord.Net.Webhook
Discord.Webhook
A core Discord.Net library containing the Webhook client and models.
- netstandard1.1;netstandard1.3
+ netstandard1.1
diff --git a/src/Discord.Net.Webhook/DiscordWebhookClient.cs b/src/Discord.Net.Webhook/DiscordWebhookClient.cs
index 014f57ce0..9695099ee 100644
--- a/src/Discord.Net.Webhook/DiscordWebhookClient.cs
+++ b/src/Discord.Net.Webhook/DiscordWebhookClient.cs
@@ -59,7 +59,7 @@ namespace Discord.Webhook
await ApiClient.CreateWebhookMessageAsync(_webhookId, args, options).ConfigureAwait(false);
}
-#if NETSTANDARD1_3
+#if FILESYSTEM
public async Task SendFileAsync(string filePath, string text, bool isTTS = false,
string username = null, string avatarUrl = null, RequestOptions options = null)
{
diff --git a/src/Discord.Net/Discord.Net.nuspec b/src/Discord.Net/Discord.Net.nuspec
index 2ce2c6c0f..a410294b1 100644
--- a/src/Discord.Net/Discord.Net.nuspec
+++ b/src/Discord.Net/Discord.Net.nuspec
@@ -12,6 +12,14 @@
http://opensource.org/licenses/MIT
false
+
+
+
+
+
+
+
+