On 12/12/05, Will Dean <svn@indcomp.co.uk> wrote:
> At 07:10 12/12/2005 -0600, you wrote:
>
> >My question is: Can this be converted to .NET? I've never done a shell
> >extension, so I'm not sure; but I'd like to think that there's a .NET way
> >to do it.
>
>
> The overwhelming amount of TSVN is not actually shell extension - it's just
> two ordinary applications - one which runs all the time in the background
> called TSVNCache, and the other which is invoked, with command line
> parameters, by the shell extension. (TortoiseProc.exe).
Don't forget TortoiseMerge and TortoiseBlame :)
> It's difficult to see much advantage of converting to .NET for any of it,
> really - interfacing to the SVN libraries would be harder (though I think
> there is already a .NET->SVN interface around), app startup would be slower
> which would be a disadvantage for TortoiseProc. Memory footprint would be
> larger, which would be perceived as a disadvantage for TSVNCache.
>
> I'm not anti-.NET BTW - I like programming with it, but I'm not sure
> converting TSVN would bring much benefit.
Even though there are some examples on how to implement a shell
extension with .NET, you must not do that!
A shell extension is loaded by all applications that use the "Open
File" dialogs. That means if you have a shell extension written for
e.g. NET2.0, and a NET1.1 app opens the "Open File" dialog, NET2.0
code is injected into that NET1.1 application. This can lead to some
very ugly crashes.
Even MS realized that problem and now suggests to write shell
extensions *not* with .NET anymore.
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Mon Dec 12 15:34:05 2005