PDA

View Full Version : BUG? VS.NET Step (set base address + build events with quotes)


dkackman
01-29-2004, 05:04 PM
I am using the VS.NET step to build a solution that contains a bunch of C# projects.

Each of those projects contains a post build event that include quotes. When I select the "Set the base address to random value if not set" option, the build event text get's screwed up if it includes quotation marks.

The build event looks like this before VBP pre-processing:
"$(SolutionDir)DeployDebug.bat" "$(TargetDir)" "$(TargetName)" $(TargetExt)

After VBP's pre-processing it looks like this:
"$(SolutionDir)DeployDebug.bat" "$(TargetDir)" "$(TargetName)" $(TargetExt)

It looks like some XML character escaping is happening here.

We need those quotes becuase the $(*) variable may be paths with spaces.

Is this a known issue and is there a work-around?

don

kevina
01-29-2004, 05:56 PM
This is not a known bug, however the two strings you provided (the before and after) are identical. I assume this was a submission typo, could you provide the actual string that seems to be erroneous?

Thanks in advance!

Kevin

dkackman
01-29-2004, 06:06 PM
It looks like the message formatting engine un-escaped my escaped characters ;)

What happens is the the second example all of the quotation marks are transposed into XML escaped version of the quote character.

Let's try a couple of ways that will get by the html formatter:
1) ampesrand quot semicolon.
2) & quot ;

So in the second example all of the quotation marks in that string are replaced by the escape string.

(Also, if you select view source for the page and find the HTML representing my original post, you will see the erroneous text as copied directly from VS.NET.)

kevina
01-29-2004, 06:52 PM
I was incorrect in saying this was not a known issue. It is, see this post for details: http://www.kinook.com/Forum/showthread.php?threadid=246.

An untested workaround would be to use a Process Files/Replace In File combination to replace all the escaped symbols with the non-standard xml (") that the non-standard parser used in the microsoft compiler requires [in all .csproj and .vbproj files]. This should work, however I can't ensure that any unintended consequences won't occur [specifically that other parts of these 'xml' files don't require an escaped " symbol].

The bottom line is that MS obviously isn't using their own xml parser in their C#/VB.Net file parser (which is what the Make VS.Net action in Visual Build Pro uses!).