gpt4 book ai didi

c# - IIS下找不到CSharpCodeProvider CompileAssemblyFromSource文件

转载 作者:行者123 更新时间:2023-11-30 15:31:56 25 4
gpt4 key购买 nike

我们的网站根据配置编译从数据库加载的自定义 C# 代码。在我们的一台开发机器上,编译时出现文件未找到错误。此代码在其他开发人员机器上运行良好。在开发人员机器上的 Visual Studio 开发服务器下运行时,它也能正常工作。在此特定计算机上的 IIS 下运行时,它不起作用。当网站安装在默认网站的子目录下时,它以前可以工作,但自从移动到 IIS 中的单独站点后,它就无法工作了。

CompilerResults results = compiler.CompileAssemblyFromSource(
compilerParameters, source);

if (results != null && results.Errors.HasErrors)
{
StringBuilder stringBuilder = new StringBuilder();
foreach (CompilerError error in results.Errors)
{
stringBuilder.AppendLine(error.ErrorText);
}

throw new StoreTechException(
String.Format("Unable to generate KPI calculation assembly:{0}{1}",
Environment.NewLine, stringBuilder.ToString()),
StoreTechExceptionTypes.Error);
}

return results;

生成的错误信息是:

CS2001: Source file 'C:\\Windows\\TEMP\\zyxl54ci.0.cs' could not be found 
CS2008: No inputs specified

由于它在 Visual Studio 开发服务器而非 IIS 下运行,我们想知道这是否是权限问题。

最佳答案

应用程序池标识需要对临时目录 (C:\Windows\TEMP) 的写入权限

关于c# - IIS下找不到CSharpCodeProvider CompileAssemblyFromSource文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19861277/

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