ASP.NET 奇怪的编译错误
Posted
技术标签:
【中文标题】ASP.NET 奇怪的编译错误【英文标题】:ASP.NET strange compilation error 【发布时间】:2011-07-25 14:43:47 【问题描述】:我不知道我的机器出了什么问题,但有一段时间我从 ASP.NET 收到以下奇怪的错误(对于我的所有应用程序)。
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: The compiler failed with error code -1073741502.
Show Detailed Compiler Output:
C:\Windows\SysWOW64\inetsrv> "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe" /t:library /utf8output /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\75855fbd\1e953b27\assembly\dl3\2689d6b5\f0791420_961fcc01\wnvhtmlconvert.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Entity\v4.0_4.0.0.0__b77a5c561934e089\System.Web.Entity.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Web\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Web.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.IdentityModel\v4.0_4.0.0.0__b77a5c561934e089\System.IdentityModel.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\75855fbd\1e953b27\assembly\dl3\d08c81cd\4d77c01f_961fcc01\AjaxControlToolkit.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Activation\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Activation.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.ApplicationServices\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.ApplicationServices.dll" ......AND SO ON.....
事实:
-
杀死工作进程可以暂时解决问题
我什至重新安装了我的 .NET 框架!没用。
重新启动 IIS 没有帮助
什么会导致这个问题?
【问题讨论】:
安装 .NET Framework 4.7.1 出于某种原因为我工作。 microsoft.com/en-us/download/details.aspx?id=56115 【参考方案1】:我通过NuGet
删除了与Roslyn
相关的软件包,它现在可以工作了。
Roslyn
相关包:
PS: 我的本地 IIS 对 Roslyn
没有任何问题,但是当我在服务器上发布项目时(这就是为什么我不认为服务器支持Roslyn
),它显示以下错误消息:
编译错误
描述:编译资源时出错 需要为该请求提供服务。请查看以下具体内容 错误详细信息并适当地修改您的源代码。
编译器错误消息:编译器失败,错误代码为 -532462766。
Show Detailed Compiler Output:
C:\Windows\SysWOW64\inetsrv>D:\...\wwwroot\bin\roslyn\csc.exe /t:library /utf8output /nostdlib+ /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\08433893\97359c03_e1abd201\System.Web.WebPages.Deployment.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Extensions\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.Extensions.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\2574b56e\eed229e7_dfabd201\Autofac.Integration.WebApi.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.Web.PageInspector.Loader\v4.0_1.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Web.PageInspector.Loader.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\2da0bd13\b2333a9c_e0abd201\System.Net.Http.Formatting.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\99fd000f\fe3c7c0e_e1abd201\System.Web.WebPages.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\695a732a\7a32e84e_e2abd201\WebGrease.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Activities\v4.0_4.0.0.0__31bf3856ad364e35\System.Activities.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\ca091706\f1f4ae28_78afd201\Core.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\ce3c4f34\2b7b911a_e0abd201\EntityFramework.SqlServer.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\c73494ac\8f453228_78afd201\CommonViewModels.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Web.Infrastructure\v4.0_1.0.0.0__31bf3856ad364e35\Microsoft.Web.Infrastructure.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.WorkflowServices\v4.0_4.0.0.0__31bf3856ad364e35\System.WorkflowServices.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\03d13810\0845500f_e1abd201\System.Web.Http.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\5cc83c73\51b7f8fe_e0abd201\System.Web.Http.WebHost.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\290d81d3\fb074b29_78afd201\Data.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Activation\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Activation.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\7a5d0293\283dbf3a_e0abd201\GridMvc.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\eb50e8c6\1900fa91_e0abd201\System.Web.Razor.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\a7d6ceb3\4c5f9c2c_78afd201\Web.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Deployment\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.Deployment.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.DynamicData\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.DynamicData.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\3bd130ea\7b432ba6_e0abd201\System.Web.Optimization.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel\v4.0_4.0.0.0__b77a5c561934e089\System.ServiceModel.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\8486430e\674206e7_dfabd201\Autofac.Integration.Mvc.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\c0d9cc06\83811806_e1abd201\System.Web.WebPages.Razor.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.CSharp\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.CSharp.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\8835020a\58c1c60e_e1abd201\System.Web.Helpers.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\30c33f64\00d8a820_d154d201\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.IdentityModel\v4.0_4.0.0.0__b77a5c561934e089\System.IdentityModel.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Web\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Web.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\6ea00d7f\02323228_78afd201\Extensions.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\f8f1e397\e9660a29_78afd201\Services.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\ff57243f\bb5e8b92_e0abd201\System.Web.Mvc.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Deployment\v4.0_1.0.0.0__31bf3856ad364e35\System.Web.WebPages.Deployment.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Data.DataSetExtensions\v4.0_4.0.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Activities\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Activities.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\fd2c5d18\00ae74dd_e7acd201\Autofac.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ComponentModel.DataAnnotations\v4.0_4.0.0.0__31bf3856ad364e35\System.ComponentModel.DataAnnotations.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.ApplicationServices\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.ApplicationServices.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\a44c79bb\74928fbb_e0abd201\EntityFramework.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Services\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\227cd18a\6ab66d28_78afd201\Domain.dll" /R:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\assembly\dl3\8cbb60ec\00788858_b3abd201\Newtonsoft.Json.dll" /out:"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\App_Code._bgj8eyw.dll" /debug- /optimize+ /warnaserror- /w:4 /nowarn:1659;1699;1701;612;618 /langversion:6 /nowarn:1659;1699;1701 "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\App_Code._bgj8eyw.0.cs" "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a47e39f5\cc42bc06\App_Code._bgj8eyw.1.cs"
如何卸载
Roslyn
软件包。
在解决方案资源管理器中,通过右键单击 Web 项目,选择 Manage NuGet Packages...
。
转到Installed
选项卡,然后搜索相关的Roslyn
包,如上所述。
使用Uninstall
按钮删除它们。
【讨论】:
男人!这回答了我的问题!Roslyn
是真正的问题,但我不知道要删除哪个包。
@FreddieFabregas,看看我的回答。我提到了相关的Roslyn
包!
感谢这对我有用。我不得不删除:Microsoft.CodeDom.Providers.DotNetCompilerPlatform 和 Microsoft.Net.Compilers
我有完全同样的问题。我不知道错误可以追溯到这个。非常感谢!
这对我也很有效。我在 VS2017 .net framework 4.6.2 中创建了一个项目,并将其提供给使用 VS2013 .net framework 4.5.2 的客户。在我结束时,一切正常。然后把这个解决方案告诉他,效果很好【参考方案2】:
好的,经过几天的努力,我终于解决了这个问题。
不是通过清除 ASP.NET temp 不是通过重新安装 .NET 框架!简单!
我将应用程序池标识从“本地系统”更改为“ApplicationPoolIdentity”显然我的本地系统存在权限错误,C# 编译器 (csc.exe) 无法访问某些资源和源代码。
要更改您的 AppPool 身份,请按照此处给出的步骤操作:http://learn.iis.net/page.aspx/624/application-pool-identities/
【讨论】:
但是开发环境呢? 我们的网站在重启后也出现了这个问题,我确定没有应用任何更改并且之前运行绝对正常。无论如何,应用程序池 id 更新解决了我们的问题 不,这根本没有帮助,我仍然有同样的问题 同样的问题,删除了临时文件,池默认为 ApplicationPoolIdentity 并重新启动服务器相同的错误...不适合我 此解决方案似乎与来自“csc.exe”编译器的确切错误代码“-1073741502”有关。更多解释见blogs.msdn.microsoft.com/friis/2012/09/19/…【参考方案3】:什么对我有用...似乎如果您安装(或安装依赖包)Microsoft.CodeDom.Providers.DotNetCompilerPlatform
NuGet 包,它会进行一些web.config
转换,允许您在 ASP.NET Razor 中使用 C#7.x 功能页。虽然我发现这些在我的本地机器上运行良好,但在我们的服务器上却没有运行(即使编译器位于 /bin/ 文件夹中)。
解决方案是找到下面的元素并从 web.config 中完全删除
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
</compilers>
</system.codedom>
【讨论】:
是的,如果您按照 Siyavash 的说明删除 Roslyn 相关的软件包,您还需要从 web.config 中删除这部分。【参考方案4】:我也遇到了这种错误,但是这里解释的问题非常不同。所以在我的情况下我从临时文件中得到编译器错误,我正在使用不存在的命名空间,例如:
using ImaginaryNamespaces;
我确信代码“使用 ImaginaryNamespaces;”我的解决方案中不存在,所以我当然怀疑缓存问题。最后我发现临时文件是从配置中生成的一些源文件。我的 Views/Web.Config 有一行:
<add namespace="ImaginaryNamespaces"/>
删除它后它起作用了。所以我建议确保配置中没有任何可能与编译器错误相关的数据。
【讨论】:
【参考方案5】:删除C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\
【讨论】:
在此文件夹下找到您的应用程序,这样您就不必删除所有临时文件 这没有帮助。【参考方案6】:我刚刚在 .NET 4.6.1 上遇到了这个问题,它最终有一个简单的解决方案 - 我删除了(实际上已注释掉)web.config 中的部分,并且 Web 表单应用程序恢复了活力。请参阅what-exactly-does-system-codedom-compilers-do-in-web-config-in-mvc-5 了解更多信息。
它对我有用。
【讨论】:
【参考方案7】:提供的答案不是解决方案。 .NET 6# 的东西与我们以前的完全不同。很多东西都发生了变化,从不得不处理可移植库到 Visual Studio 2015 安装旧的编译器(我花了 4 个小时搞定我的脑袋)。
长话短说:堆栈溢出问题How do I use C# 6 with a Web Site project type?
您需要安装 C# .NET 编译器(现在作为服务运行 bla bla bla)。 并且您需要在 NuGet 上运行更新以获取最新的所有内容(在尝试其他任何内容之前)。
编译器必须安装在您的解决方案运行所在的项目上(因此您的网站或您的应用程序开始的主项目(如果您有多个项目))。
一旦你安装了它,然后整理你的 web.config 引用任何便携式库,并删除 bin
和 obj
文件夹(以避免在我的计算机上工作的噩梦),它应该只是运行。但要有耐心;您的机器上发生的事情可能与上面的答案一样多。上面的大多数答案都隐藏了其他问题。它可能会工作一段时间,然后繁荣:编译器错误。我有几个页面工作,然后一些页面开始失败,因为一些包已经开始使用可移植库。
【讨论】:
我也刚刚意识到这个问题已经 4 岁了。我希望我检查过。谷歌在这里没有帮助我。对于 2016 和 Visual Studio 2015,C# 的新编译器是问题所在。【参考方案8】:在 IIS 管理器中,在应用程序池的高级设置中,确保“进程模型 → 加载用户配置文件”设置为“真”。就我而言,它有效。
【讨论】:
【参考方案9】:我浏览了很多博客文章,包括一些 Stack Overflow 罐子,当我收到此错误时,我已经准备好这些文章所建议的一切(见下文)。
-
我的应用程序池在 ApplicationPoolIdentity 下运行
加载用户配置文件在流程模型部分设置为 True
IIS AppPool\DefaultAppPool 对临时 ASP.NET 文件夹具有完全权限
最后我在下面提到的博客文章中找到了一些线索。看起来同一个用户帐户存在堆争用。因此,对于因此错误而失败的应用程序,我将应用程序池标识更改为 LocalSystem - 我的应用程序开始正常工作。
见博文C# compiler or Visual Basic .Net compilers fail with error code -1073741502 when generating assemblies for your ASP.net site。
注意:LocalSystem 帐户不会有太多权限。就我而言,我的应用程序不需要任何特殊权限。所以我很好。如果您的应用程序需要特殊权限,请尝试配置自定义帐户。
【讨论】:
【参考方案10】:如果您收到错误消息“在编译服务此请求所需的资源期间发生错误。 编译器错误消息:编译器失败,错误代码为 255。”
尝试终止进程“VBCSCompiler.exe”。如果您的应用程序由于某些包无法传输到 bin 文件夹而无法构建,VBCSCompiler.exe 也可能是问题。
【讨论】:
嗨 ogglas,我的网络也有同样的问题。错误仅在某些时候发生,经过一段时间后会自动解决。请问这个问题的核心是什么?你知道吗? @polach.o 抱歉,我不知道这个问题的根本原因【参考方案11】:我通过删除项目的 bin 和 obj 文件夹的内容以及远程服务器上 bin 文件夹的内容,然后重新部署解决了这个问题。
【讨论】:
【参考方案12】:如果您仍然在努力解决这个问题,即使在所有选项之后,请尝试找到正在运行并占用大量内存的应用程序。
在我的例子中,它是一个应用程序,由于某些错误而运行了 100 多个实例,每个应用程序至少占用 20 MB,因此大约 2 GB。
在我杀死几个应用程序并释放内存后,我的网站重新上线。
【讨论】:
【参考方案13】:如果您确实将此应用程序部署到您的服务器中,则可能是文件夹 \bin\roslyn 中的 *.config 文件已被删除。
然后查看是否存在以下文件:
csc.exe.config csi.exe.config vbc.exe.config VBCSCompiler.exe.config这些文件可能因您的项目引用而异。
【讨论】:
谢谢!在看到此评论并意识到我的构建系统未在部署包中包含 bin\roslyn\csc.config 之前,我浪费了几个小时。【参考方案14】:原因:我注意到,当我清理我的项目或清理其中一个依赖项目,然后在显示该站点的页面上点击几次刷新时,它会导致此错误。它似乎试图以某种方式加载/运行损坏/丢失的 DLL 项目。
将项目的 IIS 目录重命名为不同的名称,并使用新名称加载正常(再次提供项目先构建好然后运行,否则会导致相同的问题)
【讨论】:
【参考方案15】:我遇到了同样的错误,不知从何而来。在尝试了这里和其他论坛上提到的所有解决方案几个小时后,对我有用的是 VS2015 中的简单“清洁解决方案”和“重建”。
【讨论】:
【参考方案16】:我不得不杀死挂在进程资源管理器中的多个 MSBuild.exe 实例。
然后网站运行正常。
【讨论】:
【参考方案17】:更新 Nuget 包为我修复了问题。
【讨论】:
【参考方案18】:我收到此错误消息,对我来说解决方案是安装 Dot Net Framework 4.6,而我的项目针对 4.5.2
【讨论】:
【参考方案19】:我的项目中使用的 Microsoft.Net.Compilers (3.0) 版本与服务器上安装的 .NET 版本不兼容。
我将版本降级到 2.1,现在一切正常。
我猜这与服务器上安装的不同版本的.Net framework(猜测是.NET Core)有关。
【讨论】:
【参考方案20】:这种错误看起来很“奇怪”,因为它们与.NET Framework dynamic source code generation and compilation 功能有关,而且,在我看来,生成的各种错误并没有包含了解真正根本原因所需的所有信息。 IIS 将仅报告“配置错误”或“编译错误”等一般故障、动态编译的命令行(参考即时创建的临时文件)和错误代码。
由于该错误是通用的,通过在 Internet 上搜索它(并在此问题的答案中),您会发现几种不同的解决方案可以解决其他人的问题,但不一定能解决您的具体情况。
对于这个问题“-1073741502”中报告的具体错误,根本原因似乎是在编译过程中出现“DLL Initialization Failed”错误,从下面的文章来看,它很可能发生在系统性能不足的情况下称为桌面堆内存: https://blogs.msdn.microsoft.com/friis/2012/09/19/c-compiler-or-visual-basic-net-compilers-fail-with-error-code-1073741502-when-generating-assemblies-for-your-asp-net-site/.
同一篇博文建议更改应用程序池帐户以提供更多“桌面堆内存”或通过更改 Windows 注册表来增加它。更改应用程序池帐户的解决方案是此答案所接受的解决方案:https://***.com/a/6929129/1996150
由于如果所有代码都已在 Visual Studio 中编译,则 ASP.NET 页面的“动态编译”似乎不是强制性的,因此在许多情况下,可以通过手动删除元素“
【讨论】:
以上是关于ASP.NET 奇怪的编译错误的主要内容,如果未能解决你的问题,请参考以下文章
如何修复 ASP.NET 错误“文件'nnn.aspx'尚未预编译,无法请求。”?
Visual Studio 的“发布”功能阻止我的 ASP.NET MVC 应用程序编译
构建时的ASP.NET Core错误 - 缺少一个或多个编译引用