架设.net网站程序出现未找到编译器可执行文件csc.exe的解决办法

发布时间:2011-09-26 08:42:39、 编辑整理:http://www.40ps.com

其他环境下没有测试,操作主机的环境是 windows 2003 sp2 + iis 6.0 + .net 3.5

.net安装好了之后,在iis上架设网站,访问 .aspx文件时就会出现

 

“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

未找到编译器可执行文件 csc.exe。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 未找到编译器可执行文件 csc.exe。

 

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。


 

堆栈跟踪:
[InvalidOperationException: 未找到编译器可执行文件 csc.exe。]
   System.CodeDom.Compiler.RedistVersionInfo.GetCompilerPath(IDictionary`2 provOptions, String compilerExecutable) +2191394
   Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch(CompilerParameters options, String[] fileNames) +562
   Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromFileBatch(CompilerParameters options, String[] fileNames) +185
   System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromFile(CompilerParameters options, String[] fileNames) +23
   System.Web.Compilation.AssemblyBuilder.Compile() +894
   System.Web.Compilation.BuildProvidersCompiler.PerformBuild() +211
   System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) +279
   System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +611
   System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +91
   System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +124
   System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +42
   System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +32
   System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +62
   System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig) +385
   System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +147
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +152
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.1433; ASP.NET 版本:2.0.50727.1433

 

网上有朋友说,C:\WINDOWS\Microsoft.NET\Framework\v3.5 要加一个 nerwork service 的用户权限,这个方式试了不行

 

用下面这个方法可以解决这个问题
新建一个文件,命名为 xxx.reg, 这事一个注册表文件
然后编辑这个注册表, 将以下内容复制进这个文件, 保存, 然后打开
系统会提示你文件内容已经全部写入注册表, 操作完成。
 
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\3.5]
"DefaultToolsVersion"="2.0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0]
"MSBuildToolsPath"="C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\3.5]
"MSBuildToolsPath"="C:\\WINDOWS\\Microsoft.NET\\Framework\\v3.5\\"

概念网络,www.40ps.com

文章出处:概念网络 (http://www.40ps.com)

本文仅代表作者个人观点,如需转载请注明原文出处。

概念网络 发布程序 开区模板 论坛建设 企业建站 其他程序 打包数据 程序定做 仿站服务 网站重构 技术文章 网站演示
提供企业网站重构、发布站程序、论坛、仿站、美工、网站优化、打包数据出售、程序定做。
客服QQ:
在线留言
概念网络:本站公告
 

本站纯属技术研究,如有侵权请来信通知我们,我们将在第一时间进行删除处理。 gainiansoft@qq.com