1. On the same machine, I find VS 2012 was dragging (but memory was always hovering around 400MB)
2. Couldn't stand for .csproj style solution files (may be I'm spoiled by pom.xml, but its way better)
3. We as a team working on the same project and merging those .csproj files are literally pain in the ass.
4. The windows layout in the IDE is quite un-intuitive. You should see how IntelliJ manages all those windows.
5. The disconnected namespace and folder structure is another pain.
6. Related to the point 5, looking the source code and namespace imports, I can't see from which file those Classes are being "imported".
7. Maintaining and adding references is PITA compared to Java projects that uses maven.
Again, as I clearly mentioned, C# as language is better, but the tooling and ecosystem are not.
Its not always about the better language, Software is mostly written once, but read, refactored, maintained thousands of times by dozens of people. So the tooling and ecosystem has its place, so as the backward compatibility.
1. Resharper can sometimes really slow things down. Turning off Solution Analysis will often help with that. Also, I seem to have much better performance with VS 2013.
3. Did you try adding "*.csproj merge=union" to the gitattributes? I have never had a csproj merge conflict since adding that.
4. That really comes down to a preference. For me I feel the IntelliJ style keymap is better, but I would take the window layout of VS over WebStorm (just naming one i use often) any day of the week.
5. If your team decided to not have namespaces match the folder structure, thats their prerogative.
6. "Go to Declaration"?
7. NuGet has solved this problem for me.
But you're right, the C# ecosystem is certainly not perfect. Most people seem to agree that msbuild is frustrating to work with. And I really really wish csproj had wildcard support for including files.
Regarding a couple of your points:
Point 1. You might want to take a look and see if Resharper is to blame. I ultimately got rid of Resharper. I found that most of the features I used were already in Visual Studio (e.g. ctrl + , instead of ctrl + t) and keeping Resharper with VsVim was more trouble than it was worth.
Point 3. We use TF, which I am not a fan of, but it automatically resolves the conflicts when we check in our .csproj files. The bigger issue we had (and still have) is getting people to check in the .csproj files and doing it correctly.