Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Компиляция из потока?

22.06.24 19:21
Re: Компиляция из потока?
 
Murr патриот
Murr
в ответ Murr 22.06.24 16:35

Что собаки бешенные делают...

Старался - минимизировал, разместил в памяти, отдаю компилятору...


А они первым делом скидвают все на диск....... кааааааазззззззззззлыыыыыыыыыыыыыыыы

[ResourceExposure(ResourceScope.None)]
[ResourceConsumption(ResourceScope.Machine, ResourceScope.Machine)]
private CompilerResults FromSourceBatch(CompilerParameters options, string[] sources)
{
if (options == null)
{
throw new ArgumentNullException("options");
}
if (sources == null)
throw new ArgumentNullException("sources");

new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand();

string[] filenames = new string[sources.Length];


CompilerResults results = null;
#if !FEATURE_PAL
// the extra try-catch is here to mitigate exception filter injection attacks.
try
{
WindowsImpersonationContext impersonation = Executor.RevertImpersonation();
try
{

#endif // !FEATURE_PAL
//
// сссссссуууукккккккккккккккккииииииииииииииии
//

for (int i = 0; i < sources.Length; i++)
{
string name = options.TempFiles.AddExtension(i + FileExtension);
Stream temp = new FileStream(name, FileMode.Create, FileAccess.Write, FileShare.Read);
try
{
using (StreamWriter sw = new StreamWriter(temp, Encoding.UTF8))
{
sw.Write(sources);
sw.Flush();
}
}
finally
{
temp.Close();
}
filenames = name;
}
results = FromFileBatch(options, filenames);
#if !FEATURE_PAL
}
finally
{
Executor.ReImpersonate(impersonation);
}
}
catch
{
throw;
}
#endif // !FEATURE_PAL

return results;
}


 

Перейти на