删除在c#应用程序中使用CompileAssemblyFromSource生成的临时文件
我有一个C应用程序,它在删除在c#应用程序中使用CompileAssemblyFromSource生成的临时文件,c#,asp.net,C#,Asp.net,我有一个C应用程序,它在C:\Users\xxxx\AppData\Local\temp生成临时文件。这些临时文件是使用Microsoft.CSharp.CSharpCodeProvider().CompileAsemblyFromSource生成的。对于每个动态程序集,将生成以下文件(.tmp、.out、.err、.dll、.pdb、.cmdline、.cs)。我试着用 result.TempFiles.KeepFiles = false; 但这并不是自动删除这些临时文件。如何在c#应用程序
C:\Users\xxxx\AppData\Local\temp
生成临时文件。这些临时文件是使用Microsoft.CSharp.CSharpCodeProvider().CompileAsemblyFromSource生成的。对于每个动态程序集,将生成以下文件(.tmp、.out、.err、.dll、.pdb、.cmdline、.cs)。我试着用
result.TempFiles.KeepFiles = false;
但这并不是自动删除这些临时文件。如何在c#应用程序执行结束之前清除这些临时文件?
保留文件
似乎只是一个:
每个临时文件
集合中有一个关联的keep file标志,该标志确定
以每个文件为基础,无论该文件是保留还是删除。文件夹
在编译完成后自动保留或删除
基于其关联的“保留文件”值。但经过整理,
完成后,可以通过设置禁止文件来释放保留的文件
false并调用Delete方法。这将导致生成所有文件
正在删除
将需要呼叫或使用:
使用完集合后:
result.TempFiles.Delete();
或
它们是等效的。如果您根本不希望生成这些临时文件,请使用
CompilerParameters.GenerateInMemory=true使用/调用compileasemblyfromsource
请参阅我正在标记标志result.TempFiles.KeepFiles=false语句result=new Microsoft.CSharp.CSharpCodeProvider().compileasemblyfromsource
,然后使用result.TempFiles.Dispose()
在使用CompileAseMblyFromSource之前是否应提升KeepFile标志?@AnkyKeepFile
在调用Delete
之前应为false,以便它知道不保留任何文件。
result.TempFiles.Dispose();