Csharp/C#教程:CompileAssemblyFromDom抛出访问被拒绝的exception分享


CompileAssemblyFromDom抛出访问被拒绝的exception

代码:

using (var codeProvider = new CSharpCodeProvider()) { var compilerParameter = new CompilerParameters( _assemblies, assemblyName, false) { GenerateInMemory = true, CompilerOptions = "/optimize" }; var compilerResults = codeProvider.CompileAssemblyFromDom( compilerParameter, templateResults.Select(r => r.GeneratedCode) .ToArray()); } 

它抛出exception:CS1567生成Win32资源时出错:访问被拒绝。

这是什么意思?

我得到了这个工作。 问题是assemblyName是文件名而不是路径,所以我改变了

 assemblyName = Path.Combine(Path.GetTempPath(), assemblyName); 

它开始工作了!

我得到了同样的错误,但AssemblyName没有为我修复它。 我能够通过使用TempFiles参数来修复它。 此外,由于某种原因它在临时路径本身不起作用,只有在我在那里创建自己的子文件夹时才有效。

上述就是C#学习教程:CompileAssemblyFromDom抛出访问被拒绝的exception分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 string tempPath = Path.GetTempPath() + "\mysubfolder"; Directory.CreateDirectory(tempPath); var parameters = new CompilerParameters(includeAssemblies.ToArray()) { GenerateInMemory = true, TempFiles = new TempFileCollection(tempPath) }; 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1039576.html

(0)
上一篇 2022年1月27日
下一篇 2022年1月27日

精彩推荐