编码:

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());
}

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

这是什么意思?

最佳答案

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

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

它开始工作!

关于c# - CompileAssemblyFromDom 抛出访问被拒绝异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16816449/

10-11 19:25