CompileAssemblyFromSource 返回错误“编译表达式:无法打开 c:\Users\*”以读取 'c:\Users\* 不是有效的 Win32 资源文件
Posted
技术标签:
【中文标题】CompileAssemblyFromSource 返回错误“编译表达式:无法打开 c:\\Users\\*”以读取 \'c:\\Users\\* 不是有效的 Win32 资源文件【英文标题】:CompileAssemblyFromSource returns error "Compiling Expression: cannot open c:\Users\*" for reading 'c:\Users\* is not a valid Win32 resource fileCompileAssemblyFromSource 返回错误“编译表达式:无法打开 c:\Users\*”以读取 'c:\Users\* 不是有效的 Win32 资源文件 【发布时间】:2020-12-06 01:10:52 【问题描述】:我的应用程序生成并编译代码运行时:
CompilerParameters m_cp = new CompilerParameters();
m_cp.ReferencedAssemblies.Add("system.dll");
m_cp.GenerateExecutable = false;
m_cp.GenerateInMemory = true;
m_cp.CompilerOptions = "/optimize";
...
CompilerResults cr = new CSharpCodeProvider().CompileAssemblyFromSource(m_cp, code.ToString());
if (cr.Errors.HasErrors)
//getting here with error:
//"Compiling Expression: cannot open c:\Users\*" for reading
//'c:\Users\* is not a valid Win32 resource file
// Example of file c:\Users\[User]\AppData\Local\Temp\1\faw31esr\CSC23CEA88A205E4588B799FD8B4456176B.TMP
问题仅发生在某些用户身上,但他们的访问权限正常(访问权限与无故障用户的访问权限相同)。例如。有问题的用户可以访问显示的目录并删除文件。
【问题讨论】:
【参考方案1】:其中一个漏洞管理产品阻止了文件访问并导致错误。
【讨论】:
以上是关于CompileAssemblyFromSource 返回错误“编译表达式:无法打开 c:\Users\*”以读取 'c:\Users\* 不是有效的 Win32 资源文件的主要内容,如果未能解决你的问题,请参考以下文章