I have to admit that this is confusing:
<dependency...excludeDependency="true"/>
But I would definitely take "excludeDependency='true'" over "developmentDependencyOnly='true'" - the former describes more or less what it does (excludes both direct and transitive dependency), the latter is vague and still indicates that it's a dependency; and really doesn't make any sense to me - both libraries and tools are used during development.
An alternative name could be "excludeReference='true'", since part of what is happening excluding a reference in the project. It's still counted as a NuGet `<dependency>` in the packages.xml. However, I care more about transitive dependencies not including the dependency (see https://github.com/Fody/Fody/issues/33 for detailed info on my current problem - which I don't think is the only problem with the current implementation, but it definitely should be addressable with the fix for this problem), so my vote would still be for "excludeDependency" over "excludeReference".
Other alternative names are "buildTool", "buildOnly", or "excludeTransitive".
I suppose of all of the options discussed so far, my top 2 favorites are:
1. My proposal above - referenced="false"runTime="false"- because it indicates that it should not be a transitive dependency of projects that include this project (runTime="false");. And it indicates that no `<Reference>` should be present in the project ( referenced="false"). In other words, this is a build tool. I understand the desirability of having defaults be false, but I think the need for clarity and simplicity outweighs that guideline.
2. buildOnly="false" - this indicates effectively the same things - it's not needed at runtime, so it shouldn't be a transitive dependency. It's slightly weaker in indicating whether a `<Reference>` should exist in the project or not.