本文转自:https://github.com/Microsoft/msbuild/issues/364
After uninstall Visual Studio 2015 Update 1 RC and reinstall VS 2015 RTM I can't compile any of my projects any more. Following error occurs:
1>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(2718,5): error MSB4018: The "GenerateResource" task failed unexpectedly. 1>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(2718,5): error MSB4018: System.NullReferenceException: Object reference not set to an instance of an object.
https://github.com/Microsoft/msbuild/pull/314
This fixes the scenario of switching builds using RTM and Update 1.
Normal usage this should only be for an uninstall scenario since MSBuild is typically in the GAC,
but in cases of a checked in toolset or using the open source version we should be backwards compatible.
This is just renaming the fields back for the cache classes.
https://github.com/Microsoft/msbuild/pull/466
Update ResGen Serialization Compat for RTM and U1
602201c When reverting the CodeFormatter private field name changes (#314), the Dependencies class was missed. This causes an incompatibility going from Update 1 back to RTM and causes a null ref. This change fixes the compat issue (rename the field) and updates the serialization version to ensure U1 -> U2 works as expected.
Rename field for internal build.
c863538 Looks like the field was renamed for STANDALONEBUILD but not otherwise.Correcting this.
9down voteaccepted
|
I've managed to fix this issue myself and would like to document the solution here for future reference. The following error was caused by an empty XML element in the project file:
The empty element was accessed by the 'Link' task, which just failed:
Removing the respective element fixed the issue:
Hint: As it can be seen in other posts, many of the MSB4018 errors seem to be related to project files containing unexpected values. |
Another solution is to delete all generated files from the last build through an explorer window. Delete all files in: .\Project\bin .\Project\obj While you can "Clean" or "Rebuild" directly through Visual Studio, this only captures some of the files. By forcing to recompile all files, all memory locations will now correctly align and the issue should be resolved.
|
MSBuild and its Toolset now Version with Visual Studio