Something is locking me out of my assemblies ... after a clean Get Latest from TFS, i go to a command prompt and run my MSBuild script ... it fails with errors reporting it cannot delete the directory as it is not empty, and then proceeds to report a host or errors updating assemblies as access is denied. If I then go back to Visual Studio I get the following error for every project .... "Cannot analyze project output:"
I don't know if this is Visual Studio, TFS or ReSharper causing this but it is annoying me to hell ... closing the solution lets me run MSBuild perfectly again ... anyone got any ideas?
UPDATE: Turns out that this is a ReSharper error certainly present in 3.1 ... I found this out as the amazingly responsive ReSharper team took a look at my post, and replied immediately admitting it was a bug of theirs. It also turns out it was already fixed in version 4.x but not in 3.x ... after a very short whine by me to Ilya at JetBrains, he then dropped me back an email very soon after telling me the changes had been back ported into the 3.x build, and would appear there from the next nightly build. Now that is responsive!
Suffice to say, and good to their word, the error is no longer present ... Yippppeeee!!!!!
Thanks for the many suggestions I had to try and pin this down!
There are many forms of speed bump in development, things that cause you to slow down, stop, change your train of thought. From large things like people coming to your desk and asking questions, to smaller things like your IDE pausing for that half a second to refresh the screen. In fact if you think about your day, it is amazing how you get any work at all done with this many distractions and diversions. But, to me, the most annoying of all these things is a poorly thought out IDE - after all I spend a lot of my time inside it, and that means a lot of my wasted time is caused by it too. On the ALT.NET mailing list Frans Bouma suggested that most refactorings were small things that take less than a minute to do without a tool like ReSharper or Refactor. To me - that is a speed bump - it is a minute I really shouldn't have to waste, just because I thought of a better way to structure a small part of my code. I don't think I have ever written a piece of code that was right first time, so pretty much I refactor everything I write to some lesser or greater degree. Visual Studio is a great IDE, but it still has lots and lots of annoying things, and the refactoring it supports is pitiful. So for me, ReSharper is essential, it removes so many speed bumps from my daily path, that I can continue onwards and keep watching the road.
I have little idea why, but I have now encountered this a fair few times, so much so that I thought I might as well blog it, others must be getting it too. If you are missing your 'Step Into' option from the Debug menu and toolbar in VS, there is a simple fix: Select Tools / Import and Export Settings from the menu, then select Reset All Settings and follow through the next parts of the wizard. This should have your Debug menu items back, though you may have to fix some other things back to how they were (like fonts and colours). Also if you have ReSharper installed, you need to go to the ReSharper / Options menu and under the General section reset your ReSharper shortcuts there.
There is a really cool video, showing the power of ReSharper in the hands of a keyboard wizard ... but recently it went missing from the blog post in which it was first mentioned. But, after a desperate plea, it is back in a new location http://www.jetbrains.com/resharper/documentation/index .html Watch it, learn from it, speed up your coding today
It looks like even the released version of ReSharper for VS2008 may have some quirks and glitches, even when targetting .NET2.0 - apparently the C#3.0 compiler is always lurking ...
ReSharper 3 can be installed with Visual Studio 2008 and works fine, unless you are using C# 3.0 new features, like lambdas, LINQ, extension methods and such. This constructs are not parsed by ReSharper 3, which was developed to support C# 2.0 only. It is not only highlighting which doesn't support C# 3.0, it is all the core and code intelligence. For example, rename refactoring will not find usages of extension methods and will not update them. There also could be some glitches, even if you don't use new C# 3.0 constructs. This is due to the fact that C# 3.0 compiler is always used in Visual Studio 2008 C# projects, regardless of target framework. It it is not widely discussed, but changes in language are wider than just several new features. There are differences in type inference in generics and candidates lookup for binding, to name few. If you happen to hit this special cases, ReSharper could behave incorrectly. ReSharper and Visual Studio 2008
Still not a good reason not to use it, but something to be aware of.
OK, I am slightly exaggerating ... but honestly, without ReSharper, Visual Studio 2008 is painful to use.
Why on earth couldn't they have improved refactoring and editor support as part of the upgrade. Sure the .NET 3.5 stuff is fun, multi targetting is cute, and those yummy visual designers ... but I spend 90% of my VS time actually typing code, and for that VS2008 still sucks almost as badly as VS2005 did. Have MS conceeded that Jetbrains can do a better job of the editor than they can?
ReSharper works in VS2008 - but not quite...

...and that 'not quite' bit is very irritating. It is better than nothing, but roll on ReSharper for VS2008 proper.
edit: Jeffrey Palermo has a couple of good tips ... but I still feel the pain!
As a contractor I move between clients on a regular basis, and there are certain things I miss when I arrive ... the things I miss the most though, are:
ReSharper
Seriously, how can you develop without it? I guesstimate I lose 2-3 *hours* a day ithout it just typing redundant code or manually refactoring code. The auto rename of files to match the containing class alone saves massive amounts of time. Not to mention it just makes my code 100% better than if I had coded it by hand.
TestDriven.NET
Testing without it is just ... tedious. Right click a method to run the unit test, right click a class to run all the tests in the class, right click a solution ... well you get the idea. There is nothing faster or easier.
Now that Jamie has sorted his differences with MS, we can all get on and enjoy using it.
Almost everything else I can live without ... well except caffiene!
|