@@ -51,13 +51,12 @@ public sealed class TestAssetFixture() : TestAssetFixtureBase(AcceptanceFixture.
5151 {
5252 public string TargetAssetPath => GetAssetPath ( AssetName ) ;
5353
54- public string BaseTargetAssetPath => GetAssetPath ( BaseClassAssetName ) ;
55-
5654 public override IEnumerable < ( string ID , string Name , string Code ) > GetAssetsToGenerate ( )
5755 {
58- yield return ( BaseClassAssetName , BaseClassAssetName ,
59- BaseClassSourceCode . PatchTargetFrameworks ( TargetFrameworks . All ) ) ;
60-
56+ // NOTE: The BaseClass asset is embedded as a subdirectory within the main asset to avoid
57+ // parallel build conflicts. If they were separate assets, TestAssetFixtureBase would build
58+ // them in parallel, but TestDiscoveryWarnings has a ProjectReference to TestDiscoveryWarningsBaseClass,
59+ // causing both builds to write to the same files simultaneously (file locking errors).
6160 yield return ( AssetName , AssetName ,
6261 SourceCode . PatchTargetFrameworks ( TargetFrameworks . All )
6362 . PatchCodeWithReplace ( "$MSTestVersion$" , MSTestVersion ) ) ;
@@ -75,7 +74,8 @@ public sealed class TestAssetFixture() : TestAssetFixtureBase(AcceptanceFixture.
7574 </PropertyGroup>
7675
7776 <ItemGroup>
78- <ProjectReference Include="../TestDiscoveryWarningsBaseClass/TestDiscoveryWarningsBaseClass.csproj" />
77+ <ProjectReference Include="TestDiscoveryWarningsBaseClass/TestDiscoveryWarningsBaseClass.csproj" />
78+ <Compile Remove="TestDiscoveryWarningsBaseClass/**" />
7979 </ItemGroup>
8080 <ItemGroup>
8181 <PackageReference Include="MSTest.TestAdapter" Version="$MSTestVersion$" />
@@ -129,10 +129,8 @@ public class TestClass2
129129 [TestMethod]
130130 public void Test2_1() {}
131131}
132- """ ;
133132
134- private const string BaseClassSourceCode = """
135- #file TestDiscoveryWarningsBaseClass.csproj
133+ #file TestDiscoveryWarningsBaseClass/TestDiscoveryWarningsBaseClass.csproj
136134<Project Sdk="Microsoft.NET.Sdk">
137135
138136 <PropertyGroup>
@@ -143,8 +141,7 @@ public void Test2_1() {}
143141
144142</Project>
145143
146-
147- #file UnitTest1.cs
144+ #file TestDiscoveryWarningsBaseClass/UnitTest1.cs
148145namespace Base;
149146
150147public class BaseClass
0 commit comments