I'm trying to track down a build problem in VS 2013 and an ASP.NET MVC project.
The build fails, but the only meaning full looking message is an assembly conflict warning.
I fixed it enough for the specific error telling me which assembly in diagnostic mode went away
When I do a full rebuild, everything builds but my main project tacadmin
which fails
10>------ Rebuild All started: Project: TACAdmin, Configuration: Debug Any CPU ------ 10>Build started 6/2/2023 12:03:54 PM. 10>CoreClean:
10>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,5): warning MSB3277: Found conflicts between different versions of the same dependent assembly that could not be resolved. These reference conflicts are listed in the build log when log verbosity is set to detailed. 10>D:\TFS\TACAdmin_3_19\TACAdmin\RDLC\ExampleOfRDLC.rdlc : warning rsOverlappingReportItems: The line ‘line1’ and the text box ‘textbox6’ overlap. Overlapping report items are not supported in all renderers. 10>D:\TFS\TACAdmin_3_19\TACAdmin\RDLC\ExampleOfRDLC.rdlc : warning rsOverlappingReportItems: The line ‘line1’ and the text box ‘textbox5’ overlap. Overlapping report items are not supported in all renderers. 10>D:\TFS\TACAdmin_3_19\TACAdmin\RDLC\OMS20RptTotals.rdlc : warning rsOverlappingReportItems: The text box ‘textbox1’ and the text box ‘textbox16’ overlap. Overlapping report items are not supported in all renderers. 10> 10>Build FAILED. 10> 10>Time Elapsed 00:00:05.16 ========== Rebuild All: 9 succeeded, 1 failed, 0 skipped ==========
Which is weird as the only meaningful message is a warning about conflicts of the same assembly. I turned msbuild output to diagnostic, and had a message about a conflict between system.web.mvc 3 and 5.2.3.
So I added the mapping in the config to fix that.
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" culture="neutral" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
Still got the error. I installed the nuget package for System.Web.Mvc
5.2.3.0 in all the projects with a reference to System.Web.Mvc
.
Still got the error. So installed it in every single project in the solution.
The specific message about System.Web.Mvc
3 and 5 disappeared but I'm still getting the failed build error and the assembly mismatch warning above.
The logs are super long in diagnostic mode, but when I search for conflict, error and exception I find nothing.
I searched the solution folders for System.Web.Mvc
and track down references in the reference cache files.
I run the dependency checker in VS2013, and it only shows the references to System.Web.Mvc
5.2.3.0.
The cache files still shows mvc 3.
I used the dependency diagram in VS 2013 under architecture, and it only shows a dependency on System.Web.Mvc
5.2.3.0.
(can't get a screenshot of the info popup because of work settings, but it's System.Web.Mvc
5.2.3.0
I'm at a loss.
How do I :
- Figure out if that warning is really why the build is failing.
- Figure out for sure what assembly conflict their is, if its not as I assume still
System.Web.Mvc
3. - Trace the dependencies tree to the very ends to see if any of my referenced dlls in those projects are themselves depending on
System.Web.Mvc
3, and that's the issue. (dependency of a dependency)