Reflecting classes with names forbidden on Win filesystem

Explore, browse and analyze .NET assemblies

Moderators: Luke Jefferson, Charles Brown, StephenC, Alex.Davies, Greg.Tillman, melvyn.harbour

Reflecting classes with names forbidden on Win filesystem

Postby ksafonov » Fri Jul 09, 2010 6:42 pm

Hello all,

I'm trying to use Reflector Visual Studio plugin (v.6.1.0.11) to debug TFS client API.

When I try to add Microsoft.TeamFoundation.dll assembly as a debugged one, I get the following error while 'Saving decompiled assembly to debug store':

System.ArgumentException: FileStream will not open Win32 devices such as disk partitions and tape drives. Avoid use of "\\\\.\\" in the path. ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 6324, offset:851 ---> SmartAssembly.SmartExceptionsCore.UnhandledException: SmartExceptionsCore.UnhandledException @ 6322, offset:223

The reason I see is that the assembly contains class named
'Microsoft.TeamFoundation.Server.Aux', and Reflector tries to create file named 'Aux.cs' or similar during decompilation. Surely, Windows won't allow that: http://msdn.microsoft.com/en-us/library ... onventions

Is there any way to workaround this?
This really stops my further work :cry:

Thanks in advance,
Kirill
ksafonov
 
Posts: 3
Joined: Fri Jul 09, 2010 6:35 pm

Postby Clive Tong » Sat Jul 10, 2010 6:17 pm

Hi.

Thanks for reporting that. I don't know of any workaround, but on Monday I'll have a look at putting a fix into the next EAP of Reflector 6.5.

Clive
Clive Tong
 
Posts: 283
Joined: Thu Dec 04, 2008 5:42 pm

Re:

Postby ksafonov » Sat Jul 10, 2010 6:21 pm

Hi Clive,

Thanks for quick response,

Looking very much to that since it's really a blocker for me.

Many thanks,
Kirill
ksafonov
 
Posts: 3
Joined: Fri Jul 09, 2010 6:35 pm

Postby Clive Tong » Mon Jul 12, 2010 10:09 am

I put a fix into the Reflector 6.5.0.123 EAP which you can download from the EAP forum.

http://www.red-gate.com/messageboard/vi ... .php?f=117
Clive Tong
 
Posts: 283
Joined: Thu Dec 04, 2008 5:42 pm

Postby ksafonov » Mon Jul 12, 2010 11:06 am

Hello Clive,

Thanks a lot for such a quick fix,

I can confirm it works for me now. Will report if something arises.

The best wishes to continue developing such a great product!

Many regards,
Kirill
ksafonov
 
Posts: 3
Joined: Fri Jul 09, 2010 6:35 pm

Re:

Postby fabiocoutinho » Thu Oct 07, 2010 10:02 pm

Clive Tong wrote:I put a fix into the Reflector 6.5.0.123 EAP which you can download from the EAP forum.

http://www.red-gate.com/messageboard/vi ... .php?f=117



Hi,

I don't find this page.

Tkank's
fabiocoutinho
 
Posts: 2
Joined: Thu Oct 07, 2010 8:58 pm

Postby Clive Tong » Fri Oct 08, 2010 8:57 am

The link used to point to the EAP (early access version) of Reflector 6.5. That version has now been released - you can get it by using Help/Check For Updates on your existing version of Reflector, or by downloading the latest version from the Red Gate site.
Clive Tong
 
Posts: 283
Joined: Thu Dec 04, 2008 5:42 pm

Postby fabiocoutinho » Fri Oct 08, 2010 8:37 pm

Hello Clive,

After updating the reflector, to export the dll the following error appears:


Microsoft\\TeamFoundation\\Server\\Aux.cs
System.NullReferenceException: Object reference not set to an instance of an object.
at .‡ƒ.“(Exception , Int32 , Object[] )
at ‘.
fabiocoutinho
 
Posts: 2
Joined: Thu Oct 07, 2010 8:58 pm

Postby Clive Tong » Mon Oct 11, 2010 10:36 am

The fix I made was to handle the special path components when an assembly is decompiled using Reflector Pro. I didn't make an equivalent fix on the code path that deals with the "Export" functionality in Reflector.

Currently, the best workaround is probably to decompile the assembly using Reflector Pro and then generate a project file yourself.
Clive Tong
 
Posts: 283
Joined: Thu Dec 04, 2008 5:42 pm


Return to .Net Reflector 6.x and .NET Reflector 6.x Pro

Who is online

Users browsing this forum: No registered users and 0 guests