Context
https://developercommunity.visualstudio.com/t/MSBuild-1713-No-Longer-Builds-rptproj-/10850246
Recently MSBuild team received a ticket from a customer about regression (after switching to SolutionPersistence sln parsing) - .sln containing .rptproj file doesn't build.
Here is a sample
Report Project3.zip
Note: Microsoft Reporting Services Projects 2022 extension should be installed
The problem
The problem is that project configurations are empty:
https://github.com/dotnet/msbuild/blob/0f466124dc843c0db2c84eedc1b8bebd6f6daff3/src/Build/Construction/Solution/SolutionFile.cs#L452-L458
The solution configuration looks like this:
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Default = Debug|Default
DebugLocal|Default = DebugLocal|Default
Release|Default = Release|Default
EndGlobalSection
So solutionModel.BuildTypes = [Debug, DebugLocal, Release], solutionModel.Platforms = [Default]
Then for each combination of buildType and platform we call projectModel.GetProjectConfiguration(buildType, platform and get nulls.
In MSBuild parser the project configurations are read from the solution directly, and in this case they are [Debug|Default, DebugLocal|Default, Release|Default]
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4A2E283D-1970-7303-F04A-96FAEE8C58EE}.Debug|Default.ActiveCfg = Debug
{4A2E283D-1970-7303-F04A-96FAEE8C58EE}.Debug|Default.Build.0 = Debug
{4A2E283D-1970-7303-F04A-96FAEE8C58EE}.Debug|Default.Deploy.0 = Debug
{4A2E283D-1970-7303-F04A-96FAEE8C58EE}.DebugLocal|Default.ActiveCfg = DebugLocal
{4A2E283D-1970-7303-F04A-96FAEE8C58EE}.DebugLocal|Default.Build.0 = DebugLocal
{4A2E283D-1970-7303-F04A-96FAEE8C58EE}.DebugLocal|Default.Deploy.0 = DebugLocal
{4A2E283D-1970-7303-F04A-96FAEE8C58EE}.Release|Default.ActiveCfg = Release
{4A2E283D-1970-7303-F04A-96FAEE8C58EE}.Release|Default.Build.0 = Release
{4A2E283D-1970-7303-F04A-96FAEE8C58EE}.Release|Default.Deploy.0 = Release
EndGlobalSection
Additional
We also received a similar bug about not being able to build installshield project. Reverting back to old MSBuild parser worked for the customer. So I highly suspect the problem is the same her
https://developercommunity.visualstudio.com/t/MSBuild-is-not-building-an-installshield/10856850
Context
https://developercommunity.visualstudio.com/t/MSBuild-1713-No-Longer-Builds-rptproj-/10850246
Recently MSBuild team received a ticket from a customer about regression (after switching to SolutionPersistence sln parsing) - .sln containing .rptproj file doesn't build.
Here is a sample
Report Project3.zip
Note: Microsoft Reporting Services Projects 2022 extension should be installed
The problem
The problem is that project configurations are empty:
https://github.com/dotnet/msbuild/blob/0f466124dc843c0db2c84eedc1b8bebd6f6daff3/src/Build/Construction/Solution/SolutionFile.cs#L452-L458
The solution configuration looks like this:
So
solutionModel.BuildTypes = [Debug, DebugLocal, Release],solutionModel.Platforms = [Default]Then for each combination of buildType and platform we call
projectModel.GetProjectConfiguration(buildType, platformand get nulls.In MSBuild parser the project configurations are read from the solution directly, and in this case they are
[Debug|Default, DebugLocal|Default, Release|Default]Additional
We also received a similar bug about not being able to build installshield project. Reverting back to old MSBuild parser worked for the customer. So I highly suspect the problem is the same her
https://developercommunity.visualstudio.com/t/MSBuild-is-not-building-an-installshield/10856850