Solution for Why do I have to set a source `.asm` file’s `Properties > General > Item Type` to ` Microsoft Macro Assembler` …?
is Given Below:
Why do I have to set a source
Properties > General > Item Type to
Microsoft Macro Assembler, even though I had already selected for the project node, the option
Build dependencies > Build Customization > masm.
It may depend on which version of Visual Studio you are using, but I recall what seemed like a one time option to auto-select masm for .asm file with one of the versions. After dealing with multiple versions of Visual Studio and having issues with some versions, I manually set the properties for each .asm file to use a custom build tool (also turn off does not participate in build as commented by John Kalane), which is working for all the versions I have (VS2005, VS2010, VS2015, VS2019).
32 bit debug build, for release build /Zi is not needed:
command line: ml /c /Zi /Fo$(OutDir)example.obj example.asm outputs: $(OutDir)example.obj
64 bit debug build, for release build /Zi is not needed:
command line: ml64 /c /Zi /Fo$(OutDir)example.obj example.asm outputs: $(OutDir)example.obj