First, I take it the added ReSharper project is an attempt to merge stylecopforresharper into StyleCop in a way that doesn't force StyleCop developers to also have ReSharper installed? I haven't actually used ReSharper at all, and I'm happy that it
looks like we're trying to avoid it being a required dependency.
Looking at the latest set of solution configs, I am confused. I don't compile fully, as I can't build the Resharper project. I think the intent is to have the "Debug" and "Release" configs avoid building that project,
but it's selected for building in both. Also, the "CodeAnalysis" part of some configs is outright confusing since that's the old name for StyleCop. We probably want to reorganize solution configs to something like:
* Debug (excludes ReSharper project; builds successfully without ReSharper installed)
* Release (excludes ReSharper project; builds successfully without ReSharper installed)
* ReSharper.Debug (all projects, including ReSharper)
* ReSharper.Release (all projects, including ReSharper)
For solution platforms, I have a bit of concern too. Targeting AnyCPU is great if we can pull it off. Can we? This pretty much requires that we have no direct dependencies on any DLL which is split by the creators into x86 and x64.
Otherwise, things will seem to work on some machines but the modules won't load correctly on others (since our references would be x86 or x64 instead of AnyCPU). Hopefully, at least, all the jetbrains references by the resharper project are all built
So basically our platforms list should either only contain AnyCPU (if we can), or should only contain x86 and x64. Or only contain x86 if we don't want to commit to thorough testing on a wide array of platforms, as that's the most compatible.
Containing x86 and AnyCPU (as it does now) is just a confusing combination, and seems to be inviting people to build a version that shoots themselves in the foot later. I know VS fights a "correct" selection of configs and platforms
every time you add another project to the solution, but it's very helpful if we try to keep just the minimum set of correct configurations available.