Key is specified twice and reference issues
The key "M" is specified twice in Program.cs. I changed the line to "N" and observed it to be working.
p.Setup<bool>('N', "perfdata-mbytes") .Callback(value => do_perfdata_mbytes = value) .WithDescription("\tArgument used to specify use of Megabytes rather than bytes in perfdata output") .SetDefault(false);
I also had to change the dependentAssembly lines in App.config as follows to get it running:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.3.1" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Runtime.InteropServices" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.0" /> </dependentAssembly> </assemblyBinding>
I'll gladly accept a PR to give you the credit