MSBuild Known Issues

Since the release of Visual Studio 2010 we have received a few reports of crashing behavior which can be traced back to issues with MSBuild.  We’ve analyzed all of these and there are several particular cases where a crash can occur.  We’ve also added a notification to Windows Error Reporting to help guide those who…

1

Manifest resource names changed for .resources files

Juergen Bayer notified us of an issue introduced in MSBuild in .NET 3.5 “Orcas”. The problem is if you have any items of type EmbeddedResource in your project file that are actually .resources format, rather than the usual .resx. In other words, for some reason you have already converted them from human-readable form. We believe…

4

Multitargeting against .NET 2.0

If you’re using the new VS 2008 multitargeting features to target .NET 2.0 you should be aware that in VS 2008 they have a limitation related to service packs. In .NET 2.0 SP1, the CLR team has added a few types to existing .NET 2.0 assemblies. For example, DateTimeOffset has been added to mscorlib.dll. Since…

2

Fixing invalid version number problems with the AssemblyInfoTask

The arrival of 2007 bought a flurry of e-mails to the MSBuild team from people having trouble with the AssemblyInfoTask. The symptom is simple to describe – the builds start to fail with the following error: Error emitting ‘System.Reflection.AssemblyVersionAttribute’ attribute — ‘The version specified ‘1.0.70102.1’ is invalid The fix to get builds going again is to…

23

/p property values are immutable - (sort of)....

Hello there – sorry for the long absence, but we’re back and hopefully I’ll keep this going again. So there was a recent forum post about how property values that are specified from the command line are immutable – i.e. it is not straightforward to change them from within the project file. Well, this is…

6

Well Known Limitation: Dynamic items and properties not emitted until target execution completes

Sayed Ibrahim Hashimi has written about a restriction that he ran into when using CreateProperty and CreateItem tasks to dynamically emit properties and items.  The issue has to do with not being able to access items and properties that are created within a target until the target execution actually completes. So, if you were to run…

11