gpt4 book ai didi

c# - 防止 CompileAssemblyFromSource 生成具有重复文件名的临时文件

转载 作者:太空狗 更新时间:2023-10-29 23:52:34 24 4
gpt4 key购买 nike

我的 WCF 应用程序使用在运行时编译的代码来计算报表的某些值。我正在使用 CSharpCodeProvider.CompileAssemblyFromSource 来编译代码。如果客户端(Silverlight 应用程序)在计算另一个报告时请求报告,CSharpCodeProvider.CompileAssemblyFromSource 会生成名称重复的临时文件,这会导致 IOException(“文件 'C:\Windows\TEMP\uviewdyd.out' 已经存在。”)

有谁知道如何防止这种情况发生?

最佳答案

我认为没有。看起来所有三个变体(文件、DOM 和源)都会创建临时文件 ( source )。
最好的方法似乎是为每个编译使用不同的临时路径。参见 https://stackoverflow.com/a/37136996/5682035 :

CSharpCodeProvider prov = new CSharpCodeProvider();
CompilerParameters parms = new CompilerParameters();
parms.TempFiles = new TempFileCollection(tempdir);

关于c# - 防止 CompileAssemblyFromSource 生成具有重复文件名的临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7026939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com