@@ -354,7 +354,7 @@ open Printf
354354 File.GetLastWriteTimeUtc( filename) <= File.GetLastWriteTimeUtc( outFilename) &&
355355 File.GetLastWriteTimeUtc( filename) <= File.GetLastWriteTimeUtc( outXmlFilename) then
356356 printMessage( sprintf" Skipping generation of%s and%s since up-to-date" outFilename outXmlFilename)
357- Some( outFilename, outXmlFilename)
357+ Some( filename , outFilename, outXmlFilename)
358358else
359359
360360 printMessage( sprintf" Reading%s " filename)
@@ -450,7 +450,7 @@ open Printf
450450use outXmlStream= File.Create outXmlFilename
451451 xd.Save outXmlStream
452452 printMessage( sprintf" Done%s " outFilename)
453- Some( outFilename, outXmlFilename)
453+ Some( filename , outFilename, outXmlFilename)
454454with e->
455455 PrintErr( filename, 0 , sprintf" An exception occurred when processing '%s '\n %s " filename( e.ToString()))
456456 None
@@ -487,7 +487,7 @@ open Printf
487487|> Array.choose( fun item -> generateResxAndSource item.ItemSpec)
488488
489489let generatedSource , generatedResx =
490- [| for ( source, resx) in generatedFilesdo
490+ [| for ( textFile , source, resx) in generatedFilesdo
491491let sourceItem =
492492let item = TaskItem( source)
493493 item.SetMetadata( " AutoGen" , " true" )
@@ -497,6 +497,7 @@ open Printf
497497let resxItem =
498498let item = TaskItem( resx)
499499 item.SetMetadata( " ManifestResourceName" , Path.GetFileNameWithoutExtension( resx))
500+ item.SetMetadata( " SourceDocumentPath" , textFile)
500501 item:> ITaskItem
501502yield ( sourceItem, resxItem) |]
502503|> Array.unzip