diff --git a/lib/netstd/Tests/Thrift.IntegrationTests/Protocols/ProtocolsOperationsTests.cs b/lib/netstd/Tests/Thrift.IntegrationTests/Protocols/ProtocolsOperationsTests.cs
index 844bd10..b1ee0df 100644
--- a/lib/netstd/Tests/Thrift.IntegrationTests/Protocols/ProtocolsOperationsTests.cs
+++ b/lib/netstd/Tests/Thrift.IntegrationTests/Protocols/ProtocolsOperationsTests.cs
@@ -33,7 +33,7 @@
     [TestClass]
     public class ProtocolsOperationsTests : TestBase
     {
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol), TMessageType.Call)]
         [DataRow(typeof(TBinaryProtocol), TMessageType.Exception)]
         [DataRow(typeof(TBinaryProtocol), TMessageType.Oneway)]
@@ -76,78 +76,82 @@
             }
         }
 
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol))]
         [DataRow(typeof(TCompactProtocol))]
         [DataRow(typeof(TJsonProtocol))]
-        [ExpectedException(typeof(Exception))]
         public async Task WriteReadStruct_Test(Type protocolType)
         {
             var expected = new TStruct(nameof(TStruct));
 
-            try
+            await Assert.ThrowsAsync<Exception>(async () =>
             {
-                var tuple = GetProtocolInstance(protocolType);
-                using (var stream = tuple.Stream)
+                try
                 {
-                    var protocol = tuple.Protocol;
+                    var tuple = GetProtocolInstance(protocolType);
+                    using (var stream = tuple.Stream)
+                    {
+                        var protocol = tuple.Protocol;
 
-                    await protocol.WriteStructBeginAsync(expected, default);
-                    await protocol.WriteStructEndAsync(default);
-                    await tuple.Transport.FlushAsync(default);
+                        await protocol.WriteStructBeginAsync(expected, default);
+                        await protocol.WriteStructEndAsync(default);
+                        await tuple.Transport.FlushAsync(default);
 
-                    stream.Seek(0, SeekOrigin.Begin);
+                        stream.Seek(0, SeekOrigin.Begin);
 
-                    var actual = await protocol.ReadStructBeginAsync(default);
-                    await protocol.ReadStructEndAsync(default);
+                        var actual = await protocol.ReadStructBeginAsync(default);
+                        await protocol.ReadStructEndAsync(default);
 
-                    var result = _compareLogic.Compare(expected, actual);
-                    Assert.IsTrue(result.AreEqual, result.DifferencesString);
+                        var result = _compareLogic.Compare(expected, actual);
+                        Assert.IsTrue(result.AreEqual, result.DifferencesString);
+                    }
+
                 }
-
-            }
-            catch (Exception e)
-            {
-                throw new Exception($"Exception during testing of protocol: {protocolType.FullName}", e);
-            }
+                catch (Exception e)
+                {
+                    throw new Exception($"Exception during testing of protocol: {protocolType.FullName}", e);
+                }
+            });
         }
 
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol))]
         [DataRow(typeof(TCompactProtocol))]
         [DataRow(typeof(TJsonProtocol))]
-        [ExpectedException(typeof(Exception))]
         public async Task WriteReadField_Test(Type protocolType)
         {
             var expected = new TField(nameof(TField), TType.String, 1);
 
-            try
+            await Assert.ThrowsAsync<Exception>(async() =>
             {
-                var tuple = GetProtocolInstance(protocolType);
-                using (var stream = tuple.Stream)
+                try
                 {
-                    var protocol = tuple.Protocol;
+                    var tuple = GetProtocolInstance(protocolType);
+                    using (var stream = tuple.Stream)
+                    {
+                        var protocol = tuple.Protocol;
 
-                    await protocol.WriteFieldBeginAsync(expected, default);
-                    await protocol.WriteFieldEndAsync(default);
-                    await tuple.Transport.FlushAsync(default);
+                        await protocol.WriteFieldBeginAsync(expected, default);
+                        await protocol.WriteFieldEndAsync(default);
+                        await tuple.Transport.FlushAsync(default);
 
-                    stream.Seek(0, SeekOrigin.Begin);
+                        stream.Seek(0, SeekOrigin.Begin);
 
-                    var actual = await protocol.ReadFieldBeginAsync(default);
-                    await protocol.ReadFieldEndAsync(default);
+                        var actual = await protocol.ReadFieldBeginAsync(default);
+                        await protocol.ReadFieldEndAsync(default);
 
-                    var result = _compareLogic.Compare(expected, actual);
-                    Assert.IsTrue(result.AreEqual, result.DifferencesString);
+                        var result = _compareLogic.Compare(expected, actual);
+                        Assert.IsTrue(result.AreEqual, result.DifferencesString);
+                    }
                 }
-            }
-            catch (Exception e)
-            {
-                throw new Exception($"Exception during testing of protocol: {protocolType.FullName}", e);
-            }
+                catch (Exception e)
+                {
+                    throw new Exception($"Exception during testing of protocol: {protocolType.FullName}", e);
+                }
+            });
         }
 
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol))]
         [DataRow(typeof(TCompactProtocol))]
         [DataRow(typeof(TJsonProtocol))]
@@ -182,7 +186,7 @@
 
         }
 
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol))]
         [DataRow(typeof(TCompactProtocol))]
         [DataRow(typeof(TJsonProtocol))]
@@ -216,7 +220,7 @@
             }
         }
 
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol))]
         [DataRow(typeof(TCompactProtocol))]
         [DataRow(typeof(TJsonProtocol))]
@@ -250,7 +254,7 @@
             }
         }
 
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol))]
         [DataRow(typeof(TCompactProtocol))]
         [DataRow(typeof(TJsonProtocol))]
@@ -282,7 +286,7 @@
             }
         }
 
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol))]
         [DataRow(typeof(TCompactProtocol))]
         [DataRow(typeof(TJsonProtocol))]
@@ -314,7 +318,7 @@
             }
         }
 
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol))]
         [DataRow(typeof(TCompactProtocol))]
         [DataRow(typeof(TJsonProtocol))]
@@ -346,7 +350,7 @@
             }
         }
 
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol))]
         [DataRow(typeof(TCompactProtocol))]
         [DataRow(typeof(TJsonProtocol))]
@@ -378,7 +382,7 @@
             }
         }
 
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol))]
         [DataRow(typeof(TCompactProtocol))]
         [DataRow(typeof(TJsonProtocol))]
@@ -410,7 +414,7 @@
             }
         }
 
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol))]
         [DataRow(typeof(TCompactProtocol))]
         [DataRow(typeof(TJsonProtocol))]
@@ -442,7 +446,7 @@
             }
         }
 
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol))]
         [DataRow(typeof(TCompactProtocol))]
         [DataRow(typeof(TJsonProtocol))]
@@ -474,7 +478,7 @@
             }
         }
 
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol))]
         [DataRow(typeof(TCompactProtocol))]
         [DataRow(typeof(TJsonProtocol))]
@@ -506,7 +510,7 @@
             }
         }
 
-        [DataTestMethod]
+        [TestMethod]
         [DataRow(typeof(TBinaryProtocol))]
         [DataRow(typeof(TCompactProtocol))]
         [DataRow(typeof(TJsonProtocol))]
diff --git a/lib/netstd/Tests/Thrift.IntegrationTests/Thrift.IntegrationTests.csproj b/lib/netstd/Tests/Thrift.IntegrationTests/Thrift.IntegrationTests.csproj
index 96e5076..07e1d55 100644
--- a/lib/netstd/Tests/Thrift.IntegrationTests/Thrift.IntegrationTests.csproj
+++ b/lib/netstd/Tests/Thrift.IntegrationTests/Thrift.IntegrationTests.csproj
@@ -35,11 +35,11 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="CompareNETObjects" Version="4.83.0" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
-    <PackageReference Include="MSTest.TestAdapter" Version="3.9.3" />
-    <PackageReference Include="MSTest.TestFramework" Version="3.9.3" />
-    <PackageReference Include="System.ServiceModel.Primitives" Version="8.1.2" />
+    <PackageReference Include="CompareNETObjects" Version="4.84.0" />
+    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
+    <PackageReference Include="MSTest.TestAdapter" Version="4.0.2" />
+    <PackageReference Include="MSTest.TestFramework" Version="4.0.2" />
+    <PackageReference Include="System.ServiceModel.Primitives" Version="10.0.652802" />
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\..\Thrift\Thrift.csproj" />
