Suggestion for MSBuild tasks

Apr 28, 2009 at 7:16 AM
First off - great project!  Microsoft should have produced a WPP-equivalent for C# a long time ago.  We need the ability to use .TMF files to avoid includng the trace format information in our product.

Let me now propose that the MSBuild task be changed in a few ways.
1) Following the Inputs/Outputs model used by other tasks, incremental builds of the preprocessed files could become a reality.
2) The directory structure of the files in the sources should be maintained.  If the output directory is specified as "NTrace", and the source files reside in a structure like the following:

f1\a.cs
f1\b.cs
f1\f2\c.cs
f1\f3\d.cs

then the output files should be:

NTrace\f1\a.cs
NTrace\f1\b.cs
NTrace\f1\f2\c.cs               |
NTrace\f1\f3\d.cs

By replicating the input structure file name collisions would be avoided and file diffs or other postprocessing actions would be easier to do.


Thanks again!
Coordinator
May 2, 2009 at 7:28 PM
Hello, and thanks for your comments!

We had in fact attempted to make the task operate as an input/output task, but we have found that this breaks Intellisense in Visual Studio - it appears that the Intellisense engine uses the build process to build its internal database, and if we change the locations of source files, the Intellisense engine stops working inside instrumented files. I'm still convinced that there's a way to make this behave the way we want, but I must confess that I haven't been able to discover it.

The current mechanism for processed file generation was chosen to accomodate scenarios where files may be included from folders other than under the project folder (called linked files in Visual Studio's parlance). We weren't able to arrive at an elegant way to generate a sub-tree in those cases, which resulted in the current approach. That being said, we welcome ideas!

Thanks again!
-Andy Hopper