<ProjectSdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<SpaRoot>ClientApp\</SpaRoot>
<SpaProxyServerUrl>https://localhost:44445</SpaProxyServerUrl>
<SpaProxyLaunchCommand>npm start</SpaProxyLaunchCommand>
<ImplicitUsings>enable</ImplicitUsings>
<!-- Unit tests -->
<JavaScriptTestRoot>ClientApp\</JavaScriptTestRoot>
<JavaScriptTestFramework>Jasmine</JavaScriptTestFramework>
<GenerateProgramFile>false</GenerateProgramFile>
</PropertyGroup>
<ItemGroup>
<PackageReferenceInclude="Microsoft.AspNetCore.SpaProxy"Version="7.0.13" />
<PackageReferenceInclude="Microsoft.JavaScript.UnitTest"Version="1.5.10610.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<!-- Don't publish the SPA source files, but do show them in the project files list -->
<ContentRemove="$(SpaRoot)**" />
<NoneRemove="$(SpaRoot)**" />
<NoneInclude="$(SpaRoot)**"Exclude="$(SpaRoot)node_modules\**" />
</ItemGroup>
<TargetName="DebugEnsureNodeEnv"BeforeTargets="Build"Condition=" '$(Configuration)' == 'Debug' And !Exists('$(SpaRoot)node_modules') ">
<!-- Ensure Node.js is installed -->
<ExecCommand="node --version"ContinueOnError="true">
<OutputTaskParameter="ExitCode"PropertyName="ErrorCode" />
</Exec>
<ErrorCondition="'$(ErrorCode)' != '0'"Text="Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE." />
<MessageImportance="high"Text="Restoring dependencies using 'npm'. This may take several minutes..." />
<ExecWorkingDirectory="$(SpaRoot)"Command="npm install" />
</Target>
<TargetName="PublishRunWebpack"AfterTargets="ComputeFilesToPublish">
<!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
<ExecWorkingDirectory="$(SpaRoot)"Command="npm install" />
<ExecWorkingDirectory="$(SpaRoot)"Command="npm run build -- --configuration production" />
<!-- Include the newly-built files in the publish output -->
<ItemGroup>
<DistFilesInclude="$(SpaRoot)dist\**; $(SpaRoot)dist-server\**" />
<ResolvedFileToPublishInclude="@(DistFiles->'%(FullPath)')"Exclude="@(ResolvedFileToPublish)">
<RelativePath>wwwroot\%(RecursiveDir)%(FileName)%(Extension)</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
</ResolvedFileToPublish>
</ItemGroup>
</Target>
</Project>
Expected Behavior
Unit tests are found when multiple
package.jsonfiles exist in the project.Actual Behavior
Steps to Reproduce