Bug of the day: Broken renaming in ReSharper

In my opinion, refactoring is the way to keep a software project clean. So, it’s good to have tools that support the refactoring process.

ReSharper is such a tool. It provides refactoring capabilities for C#/Visual Studio.

Unfortunately, the renaming code in ReSharper currently (version 7.1.1) contains a bug. This bug may prevent ReSharper from renaming all occurrences of a certain symbol.

The following code exhibits this problem:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
 
public class SomeOtherClass {
  public string GetString(int col) {
    return null;
  }
}
 
public class MyClass {
  public void YouCantRenameMe() { }
 
  public void ThisFunctionBreaksTheRenaming() {
    // The following line breaks the renaming.
    SomeFunction((row) => row.GetString(0));
  }
 
  public void SomeFunction<T>(Func<SomeOtherClass, T> func) {
    YouCantRenameMe();
  }
}

If you try to rename the method YouCantRenameMe() (in line 10), ReSharper won’t rename the method call in line 18.

The problem is the code in method ThisFunctionBreaksTheRenaming() which somehow breaks the renaming process.

Update: This bug is not present in version 7.1. So, for now, I’ve downgraded to this version.

Bug of the day: Acronis Drive Monitor

Although the Acronis Drive Monitor is a handy tool for keeping taps on your hard drives’ state, it also totally breaks USB 3.0 (at least on my Windows Server 2012).

Acronis Drive Monitor main window

Acronis Drive Monitor comes with a service called “Acronis Scheduler2 Service”. As long as this service runs, it somehow breaks access to my external USB 3.0 drives. If I try to copy files to my external drive, the progress will freeze after a minute or so (together with a explorer window trying to access the external drive).

Solution: Stop the service (USB drives will start working again immediately), or uninstall Acronis Drive Monitor completely.

Bug of the Day: Mono for Android

Today’s bug is again sponsored by Mono for Android:

Random “The type or namespace name ‘XXX’ could not be found” errors when building

Mono for Android randomly produces “The type or namespace name ‘XXX’ could not be found” errors when building a solution. These errors don’t really exist and disappear after a rebuild.

https://www.youtube.com/watch?v=f7PMNHnUDFY

Bug of the Day: Backup running, ok/cancel?

Today’s bug is a GUI design bug in Windows Server Backup (2012). What do you think of this screenshot?

progress-ok-cancel.png

Why is there an “OK” and a “Cancel” button? What do they mean?

(“OK” means “Close” and “Cancel” means “Stop Backup”. When you start a backup, the button is actually labeled “Close” (instead of “OK”).)