//
public List<Tuple<string, string>> AssemblyReferencesAliases;
+ public List<KeyValuePair<string, string>> PathMap;
+
//
// Modules to be embedded
//
settings.RuntimeMetadataVersion = value;
return ParseResult.Success;
+ case "/pathmap":
+ if (value.Length == 0) {
+ return ParseResult.Success;
+ }
+
+ foreach (var pair in value.Split (',')) {
+ var kv = pair.Split ('=');
+ if (kv.Length != 2) {
+ report.Error (8101, "The pathmap option was incorrectly formatted");
+ return ParseResult.Error;
+ }
+
+ if (settings.PathMap == null)
+ settings.PathMap = new List<KeyValuePair<string, string>> ();
+
+ var key = kv [0].TrimEnd (Path.DirectorySeparatorChar);
+ var path = kv [1].TrimEnd (Path.DirectorySeparatorChar);
+ if (key.Length == 0 || path.Length == 0)
+ report.Error (8101, "The pathmap option was incorrectly formatted");
+
+ settings.PathMap.Add (new KeyValuePair<string, string> (key, path));
+ }
+
+ return ParseResult.Success;
+
+ // csc options that we don't support
+ case "/analyzer":
+ case "/appconfig":
+ case "/baseaddress":
+ case "/deterministic":
+ case "/errorendlocation":
+ case "/errorlog":
+ case "/features":
+ case "/highentropyva":
+ case "/highentropyva+":
+ case "/highentropyva-":
+ case "/link":
+ case "/moduleassemblyname":
+ case "/nowin32manifest":
+ case "/pdb":
+ case "/preferreduilang":
+ case "/publicsign":
+ case "/publicsign+":
+ case "/publicsign-":
+ case "/reportanalyzer":
+ case "/ruleset":
+ case "/sqmsessionguid":
+ case "/subsystemversion":
+ case "/utf8output":
+ case "/win32manifest":
+ return ParseResult.Success;
+
default:
return ParseResult.UnknownOption;
}
" -help Lists all compiler options (short: -?)\n" +
" -keycontainer:NAME The key pair container used to sign the output assembly\n" +
" -keyfile:FILE The key file used to strongname the ouput assembly\n" +
- " -langversion:TEXT Specifies language version: ISO-1, ISO-2, 3, 4, 5, Default or Experimental\n" +
+ " -langversion:TEXT Specifies language version: ISO-1, ISO-2, 3, 4, 5, 6, Default or Experimental\n" +
" -lib:PATH1[,PATHn] Specifies the location of referenced assemblies\n" +
" -main:CLASS Specifies the class with the Main method (short: -m)\n" +
" -noconfig Disables implicitly referenced assemblies\n" +
" -nowarn:W1[,Wn] Suppress one or more compiler warnings\n" +
" -optimize[+|-] Enables advanced compiler optimizations (short: -o)\n" +
" -out:FILE Specifies output assembly name\n" +
+ " -pathmap:K=V[,Kn=Vn] Sets a mapping for source path names used in generated output\n" +
" -pkg:P1[,Pn] References packages P1..Pn\n" +
" -platform:ARCH Specifies the target platform of the output assembly\n" +
" ARCH can be one of: anycpu, anycpu32bitpreferred, arm,\n" +