I have Visual Studio Solution with more than 100 projects. Five of them have Fody's nuget packages installed (version 6.0.3). When I try to build the Solution I get the following error:
Fody.6.3.0\build\Fody.targets(38,12): error MSB4086: A numeric comparison was attempted on "$(MsBuildMajorVersion)" that evaluates to "" instead of a number, in condition "($(MsBuildMajorVersion) < 16)"
After this failed build I try to build repeatedly and after several attempts (sometimes one, sometimes five) building finishes with success. I was trying to reinstall all nuget packages, clear nuget caches, reinstall Visual Studio, set MSBUILDDISABLENODEREUSE
variable and nothing helped.
Visual Studio 2019 is in version 16.8.4 and all projects have .NET Framework in version 4.8.
UPDATE:
The problem exists on my machine only. On colleagues' workstations, everything works fine. I found the tip that after an unsuccessful build Visual Studio should be restarted and the build process is successful. This tip is a sufficient workaround for me.
The solution to the problem was to migrate from packages.config
to PackageReference
. You can do this in Visual Studio 2019: within Solution Explorer expand your project, than click right mouse button on the References and choose Migrate packages.config to PackageReference...
.
Try to install the latest Costura.Fody
nuget package additionally on those five projects and also try to update Fody
nuget package to the latest 6.3.0
version.
And then rebuild your project to check whether the issue happens.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With