Is there a standard file extension for MSBuild files that are not project files but instead more complex build scripts?
I was thinking .msbuild.proj to avoid confusion with other .proj files (which I am aware are actually MSBuild files).
msbuild
Is there a standard file extension for MSBuild files that are not project files but instead more complex build scripts?
I was thinking .msbuild.proj to avoid confusion with other .proj files (which I am aware are actually MSBuild files).
Best Answer
UPDATE: In retrospect, I've updated the answer to include more conventions. Credit goes to Sayed Ibrahim Hashimi and others on this thread.
.proj
A popular convention for generic use. Commonly used by a main build script.
Examples:
.targets
.targets
files are those which is meant to be imported into other files using the Import element. Since these files are strictly re-useable they don't actually build anything. They typically are missing the properties and item values to actually build anything.Examples:
.**proj
Language specific convention where **** represents the language short acronym.
Well-known extensions:
.props
A project property sheet used by Visual C++ projects (
.vcxproj
).Examples:
.tasks
A common include file to be imported by a calling MSBuild project. Contains a list of
<UsingTask>
elements.Examples:
.settings.targets
(This is a related convention if not strictly-speaking a file extension.)
A common include file to be imported by a calling MSBuild project. Contains "various properties related to shared utilities used during the build and deployment processes as well as any other common settings" (Sayed Ibrahim Hashimi, 2009).
Examples:
EntityFramework.settings.targets
Compiler.settings.targets
Library.Settings.targets