Dotfuscator is generating illegal metadata - causing problem

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

Post Reply
onovotny
Posts: 33
Joined: Fri Mar 19, 2004 9:54 am

Dotfuscator is generating illegal metadata - causing problem

Post by onovotny » Mon May 03, 2004 4:43 pm

I'm having a problem with TypeLoadExceptions with the Vault Server 2.0.2 (and 2.0.1). After contacting Microsoft, they identified the problem:
The problem reported below is caused by a bug in the Dotfuscator tool (which ships, in-the-box, with Visual Studio). In a nutshell, "Source Gear Vault Server" used Dotfuscator to obfuscate their and that version of Dotfuscator had a bug - it creates an output image with bad/illegal metadata. Dotfuscator has since issued an update that fixes the bug. The bug was fixed in August. If "Source Gear Vault Server" are using Dotfuscator Pro, they need to make sure your version is higher than 1.2.1340 (released 9/2/2003).
There are two routes of fixing this:
1) re-obfuscate the assembly that you want obfuscated, using the new Dotfuscator Pro release.
2) Re-examine why/whether you want to obfuscate these assemblies
Can you please upgrade your Dotfuscator and release a new build with it? The upgrade page is here: http://preemptive.com/support/DotfuscatorSupport.html for all versions (Community, Standard and Pro).

Thanks!

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Tue May 04, 2004 7:37 am

Thanks for the heads up. What operation are you performing when this happens? I'm surprised we haven't had reports of this before...

onovotny
Posts: 33
Joined: Fri Mar 19, 2004 9:54 am

Post by onovotny » Tue May 04, 2004 7:42 am

dan wrote:Thanks for the heads up. What operation are you performing when this happens? I'm surprised we haven't had reports of this before...
Unfortunately, I am not at liberty to disclose yet what I am trying to do -- though it certainly is not in violation of the license agreement and does not entail reverse-engineering.

As soon as I can get it working (with the updated Vault binaries) I should be able to let you know.

Do you have any ETA for a recompiled version?

BTW, what we're trying to do fails with any other program that also uses the pre-9/2003 release of Dotfuscator, so it's not just your program. It's just that Vault is far higher priority at the moment :)

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Tue May 04, 2004 7:58 am

Well, changing dotfuscator versions is a lot like changing compilers or dev environments - it isn't something we would release immediately without a lot of testing to make sure something subtle didn't go wrong.

Send me email seperately, and perhaps we can give you a special build of the library or exe you are having troubles with.

toaom-

Post by toaom- » Thu May 13, 2004 8:30 am

From what I understood from onovotny via private mail and the Microsoft beta lists this is also the reason for the vault client not working under the new whidbey version.

I know whidbey is not supported, but I'd like to try if this works. Is it possible
to receive this customcompiled version to test this assertion?

Jesse Houwing
j.houwing@rulesemporium.com

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Thu May 13, 2004 1:38 pm

Jesse,

Switching dotfuscator versions is probably not the only thing we have to do to get integration with Whidbey. We will be working on this in the next month to do determine the issues surrounding Whidbey integration, and will let you know what we find.

onovotny
Posts: 33
Joined: Fri Mar 19, 2004 9:54 am

Post by onovotny » Thu May 13, 2004 1:44 pm

dan wrote:Jesse,

Switching dotfuscator versions is probably not the only thing we have to do to get integration with Whidbey. We will be working on this in the next month to do determine the issues surrounding Whidbey integration, and will let you know what we find.
Trust me, it is :)

It's that easy. The SSC API did not change and is backwards compatible, as is the rest of the framework. The CLR is just choking on the bad meta-data :)

Post Reply