Added TimeoutAttribute at the assembly level of tests to stop tests at 47-55 minutes in order to allow the test results to be uploaded. This will make troubleshooting which tests are taking too long easier.
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Analysis.Common/Properties/AssemblyInfo.cs
index 8793528..bf97134 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -36,3 +37,6 @@
 [assembly: Guid("fd602350-abed-4d1e-ad7b-709d18b0b464")]
 
 
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
\ No newline at end of file
diff --git a/src/Lucene.Net.Tests.Analysis.Kuromoji/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Analysis.Kuromoji/Properties/AssemblyInfo.cs
index f729a29..db5c316 100644
--- a/src/Lucene.Net.Tests.Analysis.Kuromoji/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Analysis.Kuromoji/Properties/AssemblyInfo.cs
@@ -15,6 +15,7 @@
 * limitations under the License.
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -31,4 +32,6 @@
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("34a2bce8-1351-43bd-a365-f50e7c0b2c49")]
 
-
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
diff --git a/src/Lucene.Net.Tests.Analysis.Phonetic/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Analysis.Phonetic/Properties/AssemblyInfo.cs
index c88ee0a..fd3720c 100644
--- a/src/Lucene.Net.Tests.Analysis.Phonetic/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Analysis.Phonetic/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -35,4 +36,6 @@
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("a2867797-0a5d-4878-8f59-58c399c9a4e4")]
 
-
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
diff --git a/src/Lucene.Net.Tests.Analysis.SmartCn/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Analysis.SmartCn/Properties/AssemblyInfo.cs
index 3be95e2..9d8846c 100644
--- a/src/Lucene.Net.Tests.Analysis.SmartCn/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Analysis.SmartCn/Properties/AssemblyInfo.cs
@@ -15,6 +15,7 @@
 * limitations under the License.
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -31,4 +32,6 @@
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("8c8d78d3-bffd-4301-953b-fe5350b2aeeb")]
 
-
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
diff --git a/src/Lucene.Net.Tests.Analysis.Stempel/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Analysis.Stempel/Properties/AssemblyInfo.cs
index bf6eb38..9ac4871 100644
--- a/src/Lucene.Net.Tests.Analysis.Stempel/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Analysis.Stempel/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -35,4 +36,6 @@
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("940a6ab1-f00a-40e2-bc1a-2898efa8c48f")]
 
-
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
diff --git a/src/Lucene.Net.Tests.Benchmark/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Benchmark/Properties/AssemblyInfo.cs
index f677cb2..351ebbe 100644
--- a/src/Lucene.Net.Tests.Benchmark/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Benchmark/Properties/AssemblyInfo.cs
@@ -16,6 +16,7 @@
  */
 
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -32,4 +33,6 @@
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("9257f543-44e2-4db6-8b27-a8a354c13e5b")]
 
-
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
diff --git a/src/Lucene.Net.Tests.Classification/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Classification/Properties/AssemblyInfo.cs
index 69a0a8f..e4b53f6 100644
--- a/src/Lucene.Net.Tests.Classification/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Classification/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -35,4 +36,6 @@
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("253246a8-7b09-4251-ab4c-7971d3b2be4a")]
 
-
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
diff --git a/src/Lucene.Net.Tests.Codecs/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Codecs/Properties/AssemblyInfo.cs
index 630787b..8a35a6a 100644
--- a/src/Lucene.Net.Tests.Codecs/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Codecs/Properties/AssemblyInfo.cs
@@ -42,3 +42,7 @@
 // LUCENENET specific - only allow tests in this assembly to run one at a time
 // to prevent polluting shared state.
 [assembly: LevelOfParallelism(1)]
+
+// LUCENENET specific - time out this test project at 50 minutes to allow for time before this
+// test runs and the results to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3000000)]
\ No newline at end of file
diff --git a/src/Lucene.Net.Tests.Expressions/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Expressions/Properties/AssemblyInfo.cs
index 7bdabb5..555cd29 100644
--- a/src/Lucene.Net.Tests.Expressions/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Expressions/Properties/AssemblyInfo.cs
@@ -19,8 +19,8 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 // General Information about an assembly is controlled through the following 
@@ -36,4 +36,6 @@
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("0c789606-781d-47dc-b391-5ac367fce258")]
 
-
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
diff --git a/src/Lucene.Net.Tests.Facet/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Facet/Properties/AssemblyInfo.cs
index 69a0a8f..42080c0 100644
--- a/src/Lucene.Net.Tests.Facet/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Facet/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -36,3 +37,6 @@
 [assembly: Guid("253246a8-7b09-4251-ab4c-7971d3b2be4a")]
 
 
+// LUCENENET specific - time out this test project at 50 minutes to allow for time before this
+// test runs and the results to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3000000)]
\ No newline at end of file
diff --git a/src/Lucene.Net.Tests.Grouping/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Grouping/Properties/AssemblyInfo.cs
index 651b3bb..f5f934a 100644
--- a/src/Lucene.Net.Tests.Grouping/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Grouping/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -35,4 +36,6 @@
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("c2349f0d-fb66-4544-9c33-4d87f73c6004")]
 
-
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
\ No newline at end of file
diff --git a/src/Lucene.Net.Tests.Highlighter/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Highlighter/Properties/AssemblyInfo.cs
index 76b970b..f052129 100644
--- a/src/Lucene.Net.Tests.Highlighter/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Highlighter/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -35,4 +36,6 @@
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("fbcd6afe-0a5c-4399-8044-99c58d2912d1")]
 
-
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
diff --git a/src/Lucene.Net.Tests.Join/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Join/Properties/AssemblyInfo.cs
index 1431536..538873a 100644
--- a/src/Lucene.Net.Tests.Join/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Join/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -35,4 +36,6 @@
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("4c1b794f-8158-45e6-85b3-2c46569bebc2")]
 
-
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
diff --git a/src/Lucene.Net.Tests.Memory/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Memory/Properties/AssemblyInfo.cs
index 7c5e646..e4af716 100644
--- a/src/Lucene.Net.Tests.Memory/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Memory/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -35,4 +36,6 @@
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("7f9378bf-c88d-46ff-9ae8-5e7d8c0225d3")]
 
-
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
diff --git a/src/Lucene.Net.Tests.Misc/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Misc/Properties/AssemblyInfo.cs
index 9ca5b80..73b8bb8 100644
--- a/src/Lucene.Net.Tests.Misc/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Misc/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -35,4 +36,6 @@
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("7895e023-eb91-401c-b2b3-754eec42134b")]
 
-
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
diff --git a/src/Lucene.Net.Tests.Queries/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Queries/Properties/AssemblyInfo.cs
index b5d69f8..99b6a7a 100644
--- a/src/Lucene.Net.Tests.Queries/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Queries/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -36,3 +37,6 @@
 [assembly: Guid("ab4a0a26-30fc-4180-ade0-7409b0214107")]
 
 
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
\ No newline at end of file
diff --git a/src/Lucene.Net.Tests.QueryParser/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.QueryParser/Properties/AssemblyInfo.cs
index ed1285a..d57173e 100644
--- a/src/Lucene.Net.Tests.QueryParser/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.QueryParser/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -36,3 +37,6 @@
 [assembly: Guid("27d0ae76-3e51-454c-9c4a-f913fde0ed0a")]
 
 
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
\ No newline at end of file
diff --git a/src/Lucene.Net.Tests.Replicator/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Replicator/Properties/AssemblyInfo.cs
index 7b89d0d..ca79cd1 100644
--- a/src/Lucene.Net.Tests.Replicator/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Replicator/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -34,3 +35,8 @@
 
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("418e9d8e-2369-4b52-8d2f-5a987213999b")]
+
+
+// LUCENENET specific - time out this test project at 47 minutes to allow for time before this
+// test runs and the results to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(2820000)]
\ No newline at end of file
diff --git a/src/Lucene.Net.Tests.Sandbox/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Sandbox/Properties/AssemblyInfo.cs
index d07017e..ce40ae5 100644
--- a/src/Lucene.Net.Tests.Sandbox/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Sandbox/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -36,3 +37,6 @@
 [assembly: Guid("7865cbc8-2c6b-462c-acf5-b2c4d60d93c9")]
 
 
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
\ No newline at end of file
diff --git a/src/Lucene.Net.Tests.Spatial/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Spatial/Properties/AssemblyInfo.cs
index 95633f3..a9a2d0f 100644
--- a/src/Lucene.Net.Tests.Spatial/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Spatial/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -35,4 +36,6 @@
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("31f52f5c-a08f-4363-8003-23d6f7d6eb3a")]
 
-
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]
diff --git a/src/Lucene.Net.Tests.Suggest/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests.Suggest/Properties/AssemblyInfo.cs
index 1dfd4c8..c96a774 100644
--- a/src/Lucene.Net.Tests.Suggest/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests.Suggest/Properties/AssemblyInfo.cs
@@ -19,6 +19,7 @@
  *
 */
 
+using NUnit.Framework;
 using System.Reflection;
 using System.Runtime.InteropServices;
 
@@ -36,3 +37,6 @@
 [assembly: Guid("a6511598-3008-4a3b-ae68-2d1da792ca8a")]
 
 
+// LUCENENET specific - time out this test project at 47 minutes to allow for time before this
+// test runs and the results to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(2820000)]
\ No newline at end of file
diff --git a/src/Lucene.Net.Tests._A-D/Lucene.Net.Tests._A-D.csproj b/src/Lucene.Net.Tests._A-D/Lucene.Net.Tests._A-D.csproj
index 8d64f0c..064df5a 100644
--- a/src/Lucene.Net.Tests._A-D/Lucene.Net.Tests._A-D.csproj
+++ b/src/Lucene.Net.Tests._A-D/Lucene.Net.Tests._A-D.csproj
@@ -29,6 +29,7 @@
   </PropertyGroup>
   
   <ItemGroup>
+    <Compile Include="..\Lucene.Net.Tests\Properties\AssemblyInfo.cs" Link="Properties\AssemblyInfo.cs" />
     <Compile Include="..\Lucene.Net.Tests\*.cs" />
     <Compile Include="..\Lucene.Net.Tests\Analysis\**\*.cs" LinkBase="Analysis" />
     <Compile Include="..\Lucene.Net.Tests\Codecs\**\*.cs" LinkBase="Codecs" />
diff --git a/src/Lucene.Net.Tests._E-I/Lucene.Net.Tests._E-I.csproj b/src/Lucene.Net.Tests._E-I/Lucene.Net.Tests._E-I.csproj
index ce2baa2..6b8b365 100644
--- a/src/Lucene.Net.Tests._E-I/Lucene.Net.Tests._E-I.csproj
+++ b/src/Lucene.Net.Tests._E-I/Lucene.Net.Tests._E-I.csproj
@@ -29,6 +29,7 @@
   </PropertyGroup>
 
   <ItemGroup>
+    <Compile Include="..\Lucene.Net.Tests\Properties\AssemblyInfo.cs" Link="Properties\AssemblyInfo.cs" />
     <Compile Include="..\Lucene.Net.Tests\Index\BinaryTokenStream.cs" />
     <Compile Include="..\Lucene.Net.Tests\Index\Test2*.cs" LinkBase="Index" />
     <Compile Include="..\Lucene.Net.Tests\Index\Test4*.cs" LinkBase="Index" />
diff --git a/src/Lucene.Net.Tests._I-J/Lucene.Net.Tests._I-J.csproj b/src/Lucene.Net.Tests._I-J/Lucene.Net.Tests._I-J.csproj
index e563c27..2610816 100644
--- a/src/Lucene.Net.Tests._I-J/Lucene.Net.Tests._I-J.csproj
+++ b/src/Lucene.Net.Tests._I-J/Lucene.Net.Tests._I-J.csproj
@@ -29,6 +29,7 @@
   </PropertyGroup>
 
   <ItemGroup>
+    <Compile Include="..\Lucene.Net.Tests\Properties\AssemblyInfo.cs" Link="Properties\AssemblyInfo.cs" />
     <Compile Include="..\Lucene.Net.Tests\Index\TestBinaryDocValuesUpdates.cs" LinkBase="Index" />
     <Compile Include="..\Lucene.Net.Tests\Index\TestIndexWriterReader.cs" LinkBase="Index" />
     <Compile Include="..\Lucene.Net.Tests\Index\TestIndexWriter.cs" LinkBase="Index" />
diff --git a/src/Lucene.Net.Tests._J-S/Lucene.Net.Tests._J-S.csproj b/src/Lucene.Net.Tests._J-S/Lucene.Net.Tests._J-S.csproj
index 2b986d7..5cfeed2 100644
--- a/src/Lucene.Net.Tests._J-S/Lucene.Net.Tests._J-S.csproj
+++ b/src/Lucene.Net.Tests._J-S/Lucene.Net.Tests._J-S.csproj
@@ -29,6 +29,7 @@
   </PropertyGroup>
   
   <ItemGroup>
+    <Compile Include="..\Lucene.Net.Tests\Properties\AssemblyInfo.cs" Link="Properties\AssemblyInfo.cs" />
     <Compile Include="..\Lucene.Net.Tests\Index\TestIndexWriterReader.cs" Link="Index\TestIndexWriterReader.cs" />
     <Compile Include="..\Lucene.Net.Tests\Search\**\*.cs" LinkBase="Search" />
     <Compile Include="..\Lucene.Net.Tests\Store\**\*.cs" LinkBase="Store" />
diff --git a/src/Lucene.Net.Tests._T-Z/Lucene.Net.Tests._T-Z.csproj b/src/Lucene.Net.Tests._T-Z/Lucene.Net.Tests._T-Z.csproj
index b072e89..25b8d43 100644
--- a/src/Lucene.Net.Tests._T-Z/Lucene.Net.Tests._T-Z.csproj
+++ b/src/Lucene.Net.Tests._T-Z/Lucene.Net.Tests._T-Z.csproj
@@ -29,6 +29,7 @@
   </PropertyGroup>
   
   <ItemGroup>
+    <Compile Include="..\Lucene.Net.Tests\Properties\AssemblyInfo.cs" Link="Properties\AssemblyInfo.cs" />
     <Compile Include="..\Lucene.Net.Tests\Util\**\*.cs" LinkBase="Util" />
     <Compile Remove="..\Lucene.Net.Tests\Util\JunitCompat\**\*;..\Lucene.Net.Tests\Util\TestMaxFailuresRule.cs" />
   </ItemGroup>
diff --git a/src/Lucene.Net.Tests/Properties/AssemblyInfo.cs b/src/Lucene.Net.Tests/Properties/AssemblyInfo.cs
index c79c80e..4b06182 100644
--- a/src/Lucene.Net.Tests/Properties/AssemblyInfo.cs
+++ b/src/Lucene.Net.Tests/Properties/AssemblyInfo.cs
@@ -21,7 +21,6 @@
 
 using NUnit.Framework;
 using System.Reflection;
-using System.Runtime.CompilerServices;
 
 // General Information about an assembly is controlled through the following 
 // set of attributes. Change these attribute values to modify the information
@@ -34,3 +33,7 @@
 // LUCENENET specific - only allow tests in this assembly to run one at a time
 // to prevent polluting shared state.
 [assembly: LevelOfParallelism(1)]
+
+// LUCENENET specific - time out test projects at 55 minutes to allow the results
+// to be uploaded before the 60 minute Azure DevOps job cutoff for easier troubleshooting
+[assembly: Timeout(3300000)]