diff --git a/test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TestDiscoveryWarningsTests.cs b/test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TestDiscoveryWarningsTests.cs
index db9fb45806..a6aca74dc1 100644
--- a/test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TestDiscoveryWarningsTests.cs
+++ b/test/IntegrationTests/MSTest.Acceptance.IntegrationTests/TestDiscoveryWarningsTests.cs
@@ -51,13 +51,12 @@ public sealed class TestAssetFixture() : TestAssetFixtureBase(AcceptanceFixture.
{
public string TargetAssetPath => GetAssetPath(AssetName);
- public string BaseTargetAssetPath => GetAssetPath(BaseClassAssetName);
-
public override IEnumerable<(string ID, string Name, string Code)> GetAssetsToGenerate()
{
- yield return (BaseClassAssetName, BaseClassAssetName,
- BaseClassSourceCode.PatchTargetFrameworks(TargetFrameworks.All));
-
+ // NOTE: The BaseClass asset is embedded as a subdirectory within the main asset to avoid
+ // parallel build conflicts. If they were separate assets, TestAssetFixtureBase would build
+ // them in parallel, but TestDiscoveryWarnings has a ProjectReference to TestDiscoveryWarningsBaseClass,
+ // causing both builds to write to the same files simultaneously (file locking errors).
yield return (AssetName, AssetName,
SourceCode.PatchTargetFrameworks(TargetFrameworks.All)
.PatchCodeWithReplace("$MSTestVersion$", MSTestVersion));
@@ -75,7 +74,8 @@ public sealed class TestAssetFixture() : TestAssetFixtureBase(AcceptanceFixture.
-
+
+
@@ -129,10 +129,8 @@ public class TestClass2
[TestMethod]
public void Test2_1() {}
}
-""";
- private const string BaseClassSourceCode = """
-#file TestDiscoveryWarningsBaseClass.csproj
+#file TestDiscoveryWarningsBaseClass/TestDiscoveryWarningsBaseClass.csproj
@@ -143,8 +141,7 @@ public void Test2_1() {}
-
-#file UnitTest1.cs
+#file TestDiscoveryWarningsBaseClass/UnitTest1.cs
namespace Base;
public class BaseClass