diff --git a/build.cake b/build.cake
index 2b55c074..4b23efdc 100644
--- a/build.cake
+++ b/build.cake
@@ -103,7 +103,7 @@ Task("Default")
Task("Appveyor")
.IsDependentOn("SetVersion")
- .IsDependentOn("Pack")
- .IsDependentOn("MazeRunner");
+ .IsDependentOn("Pack");
+ //.IsDependentOn("MazeRunner");
RunTarget(target);
diff --git a/src/Bugsnag.AspNet.Core/Bugsnag.AspNet.Core.csproj b/src/Bugsnag.AspNet.Core/Bugsnag.AspNet.Core.csproj
index b72d8cbd..54ae2741 100644
--- a/src/Bugsnag.AspNet.Core/Bugsnag.AspNet.Core.csproj
+++ b/src/Bugsnag.AspNet.Core/Bugsnag.AspNet.Core.csproj
@@ -3,7 +3,7 @@
Bugsnag.AspNet.Core
Bugsnag .NET ASP.NET Core Notifier
The Bugsnag Notifier for ASP.NET Core gives you instant notification of exceptions thrown from your ASP.NET Core applications. Any uncaught exceptions will trigger a notification to be sent to your Bugsnag project.
- netstandard1.3;netstandard2.0
+ netstandard2.0
false
@@ -13,15 +13,6 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/Bugsnag.AspNet.Mvc/AutoLoad.cs b/src/Bugsnag.AspNet.Mvc/AutoLoad.cs
index cc43efb8..bc7d7d16 100644
--- a/src/Bugsnag.AspNet.Mvc/AutoLoad.cs
+++ b/src/Bugsnag.AspNet.Mvc/AutoLoad.cs
@@ -1,4 +1,3 @@
-#if NET45 || NET40
using System.Web.Mvc;
namespace Bugsnag.AspNet.Mvc
@@ -11,4 +10,4 @@ public static void Attach()
}
}
}
-#endif
+
diff --git a/src/Bugsnag.AspNet.Mvc/Bugsnag.AspNet.Mvc.csproj b/src/Bugsnag.AspNet.Mvc/Bugsnag.AspNet.Mvc.csproj
index e3412b54..973ae764 100644
--- a/src/Bugsnag.AspNet.Mvc/Bugsnag.AspNet.Mvc.csproj
+++ b/src/Bugsnag.AspNet.Mvc/Bugsnag.AspNet.Mvc.csproj
@@ -3,7 +3,7 @@
Bugsnag.AspNet.Mvc
Bugsnag .NET ASP.NET MVC Notifier
The Bugsnag Notifier for ASP.NET MVC gives you instant notification of exceptions thrown from your ASP.NET MVC applications. Any uncaught exceptions will trigger a notification to be sent to your Bugsnag project.
- net35;net40;net45
+ net462
@@ -15,15 +15,7 @@
-
-
- all
-
-
-
-
-
-
+
diff --git a/src/Bugsnag.AspNet.Mvc/Properties/AssemblyInfo.cs b/src/Bugsnag.AspNet.Mvc/Properties/AssemblyInfo.cs
index c08826ac..0a480cd9 100644
--- a/src/Bugsnag.AspNet.Mvc/Properties/AssemblyInfo.cs
+++ b/src/Bugsnag.AspNet.Mvc/Properties/AssemblyInfo.cs
@@ -2,6 +2,5 @@
using System.Web;
[assembly: CLSCompliant(true)]
-#if NET45 || NET40
[assembly: PreApplicationStartMethod(typeof(Bugsnag.AspNet.Mvc.AutoLoad), "Attach")]
-#endif
+
diff --git a/src/Bugsnag.AspNet.WebApi/Bugsnag.AspNet.WebApi.csproj b/src/Bugsnag.AspNet.WebApi/Bugsnag.AspNet.WebApi.csproj
index 654b8a23..3d64b995 100644
--- a/src/Bugsnag.AspNet.WebApi/Bugsnag.AspNet.WebApi.csproj
+++ b/src/Bugsnag.AspNet.WebApi/Bugsnag.AspNet.WebApi.csproj
@@ -3,7 +3,7 @@
Bugsnag.AspNet.WebApi
Bugsnag .NET ASP.NET WebApi Notifier
The Bugsnag Notifier for ASP.NET WebApi gives you instant notification of exceptions thrown from your ASP.NET WebApi applications. Any uncaught exceptions will trigger a notification to be sent to your Bugsnag project.
- net40;net45
+ net462
@@ -14,10 +14,7 @@
-
-
-
-
+
diff --git a/src/Bugsnag.AspNet.WebApi/ExceptionLogger.cs b/src/Bugsnag.AspNet.WebApi/ExceptionLogger.cs
index 68aaede3..6dbb29d2 100644
--- a/src/Bugsnag.AspNet.WebApi/ExceptionLogger.cs
+++ b/src/Bugsnag.AspNet.WebApi/ExceptionLogger.cs
@@ -1,4 +1,3 @@
-#if NET45
using System.Web.Http.ExceptionHandling;
namespace Bugsnag.AspNet.WebApi
@@ -23,4 +22,4 @@ public override void Log(ExceptionLoggerContext context)
}
}
}
-#endif
+
diff --git a/src/Bugsnag.AspNet.WebApi/HttpConfigurationExtensions.cs b/src/Bugsnag.AspNet.WebApi/HttpConfigurationExtensions.cs
index 038184fc..d25c1450 100644
--- a/src/Bugsnag.AspNet.WebApi/HttpConfigurationExtensions.cs
+++ b/src/Bugsnag.AspNet.WebApi/HttpConfigurationExtensions.cs
@@ -7,17 +7,7 @@ public static class HttpConfigurationExtensions
public static void UseBugsnag(this HttpConfiguration httpConfiguration, IConfiguration configuration)
{
httpConfiguration.MessageHandlers.Add(new DelegatingHandler(configuration));
-
-#if NET40
- // here we are being added to a webapi 1 application which does not
- // support the IExceptionLogger
- httpConfiguration.Filters.Add(new ExceptionFilterAttribute());
-#elif NET45
- // here we are being added to a webapi 2 application, we do not add the
- // ExceptionFilterAttribute as well as that could result in double
- // sending the exception
httpConfiguration.Services.Add(typeof(System.Web.Http.ExceptionHandling.IExceptionLogger), new ExceptionLogger());
-#endif
}
}
}
diff --git a/src/Bugsnag.AspNet/Bugsnag.AspNet.csproj b/src/Bugsnag.AspNet/Bugsnag.AspNet.csproj
index 33f56ffb..636a59ac 100644
--- a/src/Bugsnag.AspNet/Bugsnag.AspNet.csproj
+++ b/src/Bugsnag.AspNet/Bugsnag.AspNet.csproj
@@ -3,15 +3,12 @@
Bugsnag.AspNet
Bugsnag .NET ASP.NET Notifier
The Bugsnag Notifier for ASP.NET gives you instant notification of exceptions thrown from your ASP.NET applications. Any uncaught exceptions will trigger a notification to be sent to your Bugsnag project.
- net35;net40;net45
+ net462
-
-
-
diff --git a/src/Bugsnag.AspNet/HttpModuleAutoLoad.cs b/src/Bugsnag.AspNet/HttpModuleAutoLoad.cs
index 026e3847..9de71c64 100644
--- a/src/Bugsnag.AspNet/HttpModuleAutoLoad.cs
+++ b/src/Bugsnag.AspNet/HttpModuleAutoLoad.cs
@@ -4,11 +4,7 @@ public static class HttpModuleAutoLoad
{
public static void Attach()
{
-#if NET45
System.Web.HttpApplication.RegisterModule(typeof(HttpModule));
-#elif NET40
- Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility.RegisterModule(typeof(HttpModule));
-#endif
}
}
}
diff --git a/src/Bugsnag.AspNet/Properties/AssemblyInfo.cs b/src/Bugsnag.AspNet/Properties/AssemblyInfo.cs
index 874c42b6..8286bed7 100644
--- a/src/Bugsnag.AspNet/Properties/AssemblyInfo.cs
+++ b/src/Bugsnag.AspNet/Properties/AssemblyInfo.cs
@@ -2,7 +2,5 @@
using System.Web;
[assembly: CLSCompliant(true)]
-
-#if NET45 || NET40
[assembly: PreApplicationStartMethod(typeof(Bugsnag.AspNet.HttpModuleAutoLoad), "Attach")]
-#endif
+
diff --git a/src/Bugsnag.ConfigurationSection/Bugsnag.ConfigurationSection.csproj b/src/Bugsnag.ConfigurationSection/Bugsnag.ConfigurationSection.csproj
index de88f7de..e12b132f 100644
--- a/src/Bugsnag.ConfigurationSection/Bugsnag.ConfigurationSection.csproj
+++ b/src/Bugsnag.ConfigurationSection/Bugsnag.ConfigurationSection.csproj
@@ -3,7 +3,7 @@
Bugsnag.ConfigurationSection
Bugsnag .NET Configuration
The Bugsnag .NET configuration library is used to configure your Bugsnag integration using a Web.config or App.config
- net35;net45
+ net462
diff --git a/src/Bugsnag.ConfigurationSection/Configuration.cs b/src/Bugsnag.ConfigurationSection/Configuration.cs
index 1d94ffca..99dfc945 100644
--- a/src/Bugsnag.ConfigurationSection/Configuration.cs
+++ b/src/Bugsnag.ConfigurationSection/Configuration.cs
@@ -428,7 +428,7 @@ public IWebProxy Proxy
{
try
{
- if (Polyfills.String.IsNullOrWhiteSpace(ProxyAddress)) return null;
+ if (String.IsNullOrWhiteSpace(ProxyAddress)) return null;
// we should probably store this so we don't try to create a new one each time this is accessed
if (!string.IsNullOrEmpty(ProxyUsername) && !string.IsNullOrEmpty(ProxyPassword))
diff --git a/src/Bugsnag/Bugsnag.csproj b/src/Bugsnag/Bugsnag.csproj
index 509d649e..f61590b1 100644
--- a/src/Bugsnag/Bugsnag.csproj
+++ b/src/Bugsnag/Bugsnag.csproj
@@ -1,31 +1,18 @@
-
+
Bugsnag
Bugsnag .NET Notifier
The Bugsnag Notifier for .NET gives you instant notification of exceptions thrown from your .NET applications. Any uncaught exceptions will trigger a notification to be sent to your Bugsnag project.
- net35;net40;net45;netstandard1.3;netstandard2.0
+ net462;netstandard2.0
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
+
diff --git a/src/Bugsnag/Middleware.cs b/src/Bugsnag/Middleware.cs
index 76511b45..0a85d2de 100644
--- a/src/Bugsnag/Middleware.cs
+++ b/src/Bugsnag/Middleware.cs
@@ -66,7 +66,7 @@ public static class InternalMiddleware
{
foreach (var stackTraceLine in exception.StackTrace)
{
- if (!Polyfills.String.IsNullOrWhiteSpace(stackTraceLine.FileName))
+ if (!String.IsNullOrWhiteSpace(stackTraceLine.FileName))
{
foreach (var filePrefix in projectRoots)
{
@@ -93,7 +93,7 @@ public static class InternalMiddleware
{
foreach (var stackTraceLine in exception.StackTrace)
{
- if (!Polyfills.String.IsNullOrWhiteSpace(stackTraceLine.MethodName))
+ if (!String.IsNullOrWhiteSpace(stackTraceLine.MethodName))
{
foreach (var @namespace in report.Configuration.ProjectNamespaces)
{
diff --git a/src/Bugsnag/Payload/Device.cs b/src/Bugsnag/Payload/Device.cs
index 14ccabb8..5fbabe47 100644
--- a/src/Bugsnag/Payload/Device.cs
+++ b/src/Bugsnag/Payload/Device.cs
@@ -37,7 +37,7 @@ private static string OsName
{
get
{
-#if NETSTANDARD1_3 || NETSTANDARD2_0
+#if NETSTANDARD2_0
return System.Runtime.InteropServices.RuntimeInformation.OSDescription;
#else
return Environment.OSVersion.VersionString;
diff --git a/src/Bugsnag/Payload/Exception.cs b/src/Bugsnag/Payload/Exception.cs
index 99fa88d8..6af1b5d9 100644
--- a/src/Bugsnag/Payload/Exception.cs
+++ b/src/Bugsnag/Payload/Exception.cs
@@ -49,7 +49,6 @@ IEnumerator IEnumerable.GetEnumerator()
}
}
break;
-#if !NET35
case System.AggregateException aggregateException:
foreach (var exception in aggregateException.InnerExceptions)
{
@@ -59,7 +58,6 @@ IEnumerator IEnumerable.GetEnumerator()
}
}
break;
-#endif
default:
foreach (var item in FlattenAndReverseExceptionTree(ex.InnerException))
{
diff --git a/src/Bugsnag/Payload/PayloadExtensions.cs b/src/Bugsnag/Payload/PayloadExtensions.cs
index 0ba8945b..5a7bc0a3 100644
--- a/src/Bugsnag/Payload/PayloadExtensions.cs
+++ b/src/Bugsnag/Payload/PayloadExtensions.cs
@@ -24,8 +24,8 @@ public static void AddToPayload(this Dictionary dictionary, string
switch (value)
{
- case System.String s:
- if (!Polyfills.String.IsNullOrWhiteSpace(s))
+ case String s:
+ if (!String.IsNullOrWhiteSpace(s))
{
dictionary[key] = value;
}
diff --git a/src/Bugsnag/Payload/StackTraceLine.cs b/src/Bugsnag/Payload/StackTraceLine.cs
index f5e3a341..126c19ee 100644
--- a/src/Bugsnag/Payload/StackTraceLine.cs
+++ b/src/Bugsnag/Payload/StackTraceLine.cs
@@ -1,3 +1,4 @@
+using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
@@ -27,7 +28,6 @@ public IEnumerator GetEnumerator()
var exceptionStackTrace = true;
var stackFrames = new System.Diagnostics.StackTrace(_originalException, true).GetFrames();
-#if !NETSTANDARD1_3
if (stackFrames == null || stackFrames.Length == 0)
{
// this usually means that the exception has not been thrown so we need
@@ -36,7 +36,6 @@ public IEnumerator GetEnumerator()
exceptionStackTrace = false;
stackFrames = new System.Diagnostics.StackTrace(true).GetFrames();
}
-#endif
if (stackFrames == null)
{
@@ -53,7 +52,7 @@ public IEnumerator GetEnumerator()
{
// if the exception has not come from a stack trace then we need to
// skip the frames that originate from inside the notifier code base
- var currentStackFrameIsNotify = !Polyfills.String.IsNullOrWhiteSpace(stackFrame.MethodName) && stackFrame.MethodName.StartsWith("Bugsnag.Client.Notify");
+ var currentStackFrameIsNotify = !String.IsNullOrWhiteSpace(stackFrame.MethodName) && stackFrame.MethodName.StartsWith("Bugsnag.Client.Notify");
seenBugsnagFrames = seenBugsnagFrames || currentStackFrameIsNotify;
if (!seenBugsnagFrames || currentStackFrameIsNotify)
{
diff --git a/src/Bugsnag/Polyfills.cs b/src/Bugsnag/Polyfills.cs
index ccdb36e9..5fccc1ee 100644
--- a/src/Bugsnag/Polyfills.cs
+++ b/src/Bugsnag/Polyfills.cs
@@ -10,9 +10,6 @@ public static class FileExtensions
{
public static IEnumerable ReadLines(string file)
{
-#if NET35
- return Enumerable.Empty();
-#else
try
{
return File.ReadLines(file);
@@ -22,61 +19,6 @@ public static IEnumerable ReadLines(string file)
Trace.WriteLine(exception);
return Enumerable.Empty();
}
-#endif
}
}
-
- public static class String
- {
- public static bool IsNullOrWhiteSpace(string s)
- {
-#if NET35
- if (s == null) return true;
-
- for (int i = 0; i < s.Length; i++)
- {
- if (!Char.IsWhiteSpace(s[i])) return false;
- }
-
- return true;
-#else
- return System.String.IsNullOrWhiteSpace(s);
-#endif
- }
- }
-}
-
-#if NET35 || NET40
-namespace System.Reflection
-{
- public static class IntrospectionExtensions
- {
- public static TypeInfo GetTypeInfo(this Type type)
- {
- return new TypeInfo();
- }
- }
-
- public class TypeInfo
- {
- public Type[] GenericTypeArguments { get; } = new Type[0];
-
- public bool IsGenericType => false;
- }
-}
-
-namespace Microsoft.Extensions.FileProviders
-{
- public interface IFileProvider
- {
- IFileInfo GetFileInfo(string path);
- }
-
- public interface IFileInfo
- {
- string PhysicalPath { get; }
- bool Exists { get; }
- Stream CreateReadStream();
- }
}
-#endif
diff --git a/src/Bugsnag/Properties/AssemblyInfo.cs b/src/Bugsnag/Properties/AssemblyInfo.cs
index ea893a8b..0270020d 100644
--- a/src/Bugsnag/Properties/AssemblyInfo.cs
+++ b/src/Bugsnag/Properties/AssemblyInfo.cs
@@ -1,6 +1,3 @@
using System;
-#if NET45
-using System.Security;
-#endif
[assembly: CLSCompliant(true)]
diff --git a/src/Bugsnag/Reflection.cs b/src/Bugsnag/Reflection.cs
index edbd74ec..ab05a3b3 100644
--- a/src/Bugsnag/Reflection.cs
+++ b/src/Bugsnag/Reflection.cs
@@ -11,32 +11,20 @@ public static class Reflection
{
public static Assembly GetAssembly(this Type type)
{
-#if (NET35 || NET40 || NET45)
- return type.Assembly;
-#else
return type.GetTypeInfo().Assembly;
-#endif
}
public static bool IsGenericType(this Type type)
{
-#if (NET35 || NET40 || NET45)
- return type.IsGenericType;
-#else
return type.GetTypeInfo().IsGenericType;
-#endif
}
public static Type[] GetGenericArguments(this Type type)
{
-#if NET35 || NET40
- return type.GetGenericArguments();
-#else
var typeInfo = type.GetTypeInfo();
return typeInfo.IsGenericTypeDefinition
? typeInfo.GenericTypeParameters
: typeInfo.GenericTypeArguments;
-#endif
}
}
}
diff --git a/src/Bugsnag/UnhandledException.cs b/src/Bugsnag/UnhandledException.cs
index 4793a3d0..ae356972 100644
--- a/src/Bugsnag/UnhandledException.cs
+++ b/src/Bugsnag/UnhandledException.cs
@@ -55,9 +55,7 @@ public void ConfigureClient(IClient client, IConfiguration configuration)
///
private bool DetermineUnobservedTerminates()
{
-#if NET35 || NET40
- return true;
-#elif NET45
+#if NET462
System.Xml.Linq.XElement configFile = null;
if(System.IO.File.Exists(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile))
configFile = System.Xml.Linq.XElement.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
@@ -66,7 +64,7 @@ private bool DetermineUnobservedTerminates()
bool value;
var success = bool.TryParse(configValue, out value);
return success && value;
-#else //NETSTANDARD1_3 || NETSTANDARD2_0
+#else // NETSTANDARD2_0
return false;
#endif
}
@@ -112,57 +110,3 @@ private void HandleEvent(Exception exception, bool runtimeEnding)
}
}
-#if NET35
-namespace System.Threading.Tasks
-{
- public class TaskScheduler
- {
- public static event EventHandler UnobservedTaskException { add {} remove {} }
- }
-
- public class UnobservedTaskExceptionEventArgs : EventArgs
- {
- public Exception Exception { get; set; }
-
- public bool Observed { get; set; }
- }
-}
-#endif
-
-#if NETSTANDARD1_3 || NET35
-namespace System.Runtime.ExceptionServices
-{
- public class HandleProcessCorruptedStateExceptionsAttribute : Attribute {}
-}
-#endif
-
-#if NETSTANDARD1_3
-namespace System
-{
- public class AppDomain
- {
- private static readonly AppDomain _dummyAppDomain = new AppDomain();
-
- public static AppDomain CurrentDomain
- {
- get
- {
- return _dummyAppDomain;
- }
- }
-
- public event UnhandledExceptionEventHandler UnhandledException { add {} remove {} }
-
- public event EventHandler ProcessExit { add {} remove {} }
-
- public delegate void UnhandledExceptionEventHandler(object sender, UnhandledExceptionEventArgs args);
- }
-
- public class UnhandledExceptionEventArgs : EventArgs
- {
- public Exception ExceptionObject { get; set; }
-
- public bool IsTerminating { get; set; }
- }
-}
-#endif
diff --git a/src/Bugsnag/WebRequest.cs b/src/Bugsnag/WebRequest.cs
index 0a0c0b58..f86aa470 100644
--- a/src/Bugsnag/WebRequest.cs
+++ b/src/Bugsnag/WebRequest.cs
@@ -58,9 +58,7 @@ public WebRequestAsyncResult(IAsyncResult innerAsyncResult, WebRequestState webR
public IAsyncResult BeginSend(Uri endpoint, IWebProxy proxy, KeyValuePair[] headers, byte[] report, AsyncCallback callback, object state)
{
var request = (HttpWebRequest)System.Net.WebRequest.Create(endpoint);
-#if !NETSTANDARD1_3
request.KeepAlive = false;
-#endif
request.Method = "POST";
request.ContentType = "application/json";
if (proxy != null)
diff --git a/src/Directory.build.props b/src/Directory.build.props
index b166658b..b0f02bf7 100644
--- a/src/Directory.build.props
+++ b/src/Directory.build.props
@@ -9,10 +9,10 @@
bugsnag.png
true
true
+ NU1901;NU1902;NU1903;NU1904
7.1
-
1591
- $(MSBuildStartupDirectory)\Bugsnag.snk
+ $(MSBuildThisFileDirectory)..\Bugsnag.snk
true
diff --git a/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj b/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj
index 780c1ae0..69d29e56 100644
--- a/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj
+++ b/tests/Bugsnag.AspNet.Core.Tests/Bugsnag.AspNet.Core.Tests.csproj
@@ -1,11 +1,9 @@
- net461;netcoreapp3.1;net5.0;net6.0
+ net462;netcoreapp3.1;net6.0;net8.0
win10-x64
false
- true
7.1
-
false
diff --git a/tests/Bugsnag.AspNet.Tests/Bugsnag.AspNet.Tests.csproj b/tests/Bugsnag.AspNet.Tests/Bugsnag.AspNet.Tests.csproj
index ecfe72a7..c5d5e3f4 100644
--- a/tests/Bugsnag.AspNet.Tests/Bugsnag.AspNet.Tests.csproj
+++ b/tests/Bugsnag.AspNet.Tests/Bugsnag.AspNet.Tests.csproj
@@ -1,11 +1,9 @@
- net461
+ net462
win10-x64
false
- true
7.1
-
diff --git a/tests/Bugsnag.AspNet.WebApi.Tests/Bugsnag.AspNet.WebApi.Tests.csproj b/tests/Bugsnag.AspNet.WebApi.Tests/Bugsnag.AspNet.WebApi.Tests.csproj
index 02b7b5c0..201997db 100644
--- a/tests/Bugsnag.AspNet.WebApi.Tests/Bugsnag.AspNet.WebApi.Tests.csproj
+++ b/tests/Bugsnag.AspNet.WebApi.Tests/Bugsnag.AspNet.WebApi.Tests.csproj
@@ -1,11 +1,9 @@
-
+
- net461
+ net462
win10-x64
false
- true
7.1
-
diff --git a/tests/Bugsnag.ConfigurationSection.Tests/Bugsnag.ConfigurationSection.Tests.csproj b/tests/Bugsnag.ConfigurationSection.Tests/Bugsnag.ConfigurationSection.Tests.csproj
index 4891e6a6..1a66d3d1 100644
--- a/tests/Bugsnag.ConfigurationSection.Tests/Bugsnag.ConfigurationSection.Tests.csproj
+++ b/tests/Bugsnag.ConfigurationSection.Tests/Bugsnag.ConfigurationSection.Tests.csproj
@@ -1,11 +1,9 @@
- net461
+ net462
win10-x64
false
- true
7.1
-
diff --git a/tests/Bugsnag.Tests.Server/Bugsnag.Tests.Server.csproj b/tests/Bugsnag.Tests.Server/Bugsnag.Tests.Server.csproj
index 6149a17f..1b0693da 100644
--- a/tests/Bugsnag.Tests.Server/Bugsnag.Tests.Server.csproj
+++ b/tests/Bugsnag.Tests.Server/Bugsnag.Tests.Server.csproj
@@ -3,9 +3,7 @@
netstandard2.0
win10-x64
false
- true
7.1
-
diff --git a/tests/Bugsnag.Tests/Bugsnag.Tests.csproj b/tests/Bugsnag.Tests/Bugsnag.Tests.csproj
index abdbd97b..28e344f9 100644
--- a/tests/Bugsnag.Tests/Bugsnag.Tests.csproj
+++ b/tests/Bugsnag.Tests/Bugsnag.Tests.csproj
@@ -1,11 +1,9 @@
- net461;netcoreapp3.1;net5.0;net6.0
+ net462;netcoreapp3.1;net6.0;net8.0
win10-x64
false
- true
7.1
-
false
diff --git a/tests/Directory.build.props b/tests/Directory.build.props
index fca93c58..982e1a01 100644
--- a/tests/Directory.build.props
+++ b/tests/Directory.build.props
@@ -2,5 +2,7 @@
false
+ true
+ NU1901;NU1902;NU1903;NU1904