Пример #1
0
        public static void AddAdditionalPlatformSupportData(ICompilationExtension compilationExtension, ref ScriptAssembly scriptAssembly)
        {
            if (compilationExtension == null)
            {
                return;
            }

            scriptAssembly.Defines    = AddAdditionalToArray(scriptAssembly.Defines, compilationExtension.GetAdditionalDefines().ToArray());
            scriptAssembly.References = AddAdditionalToArray(scriptAssembly.References, compilationExtension.GetAdditionalAssemblyReferences()
                                                             .Concat(compilationExtension.GetWindowsMetadataReferences()).ToArray());
            scriptAssembly.Files = AddAdditionalToArray(scriptAssembly.Files, compilationExtension.GetAdditionalSourceFiles().ToArray());
        }
        private void FillCompilerOptions(List <string> arguments, out string argsPrefix)
        {
            argsPrefix = "/noconfig ";
            arguments.Add("/nostdlib+");
            arguments.Add("/preferreduilang:en-US");
            IPlatformSupportModule platformSupportModule = ModuleManager.FindPlatformSupportModule(ModuleManager.GetTargetStringFromBuildTarget(this.BuildTarget));
            ICompilationExtension  compilationExtension  = platformSupportModule.CreateCompilationExtension();

            arguments.AddRange(from r in this.GetClassLibraries()
                               select "/reference:\"" + r + "\"");
            arguments.AddRange(from r in compilationExtension.GetAdditionalAssemblyReferences()
                               select "/reference:\"" + r + "\"");
            arguments.AddRange(from r in compilationExtension.GetWindowsMetadataReferences()
                               select "/reference:\"" + r + "\"");
            arguments.AddRange(from d in compilationExtension.GetAdditionalDefines()
                               select "/define:" + d);
            arguments.AddRange(compilationExtension.GetAdditionalSourceFiles());
        }