CompileAssemblyFromDom抛出访问被拒绝的异常

Jek*_*kas 3 .net c# compiler-construction code-generation compilation

代码:

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());
}
Run Code Online (Sandbox Code Playgroud)

它抛出异常:CS1567生成Win32资源时出错:访问被拒绝.

这是什么意思?

Jek*_*kas 5

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

assemblyName = Path.Combine(Path.GetTempPath(), assemblyName);
Run Code Online (Sandbox Code Playgroud)

它开始工作了!