Skip to content

Solution with .rptproj has incorrect project configurations #103

@surayya-MS

Description

@surayya-MS

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

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions