Asp.net Visual Basic编译器(vbc.exe)使用完所有系统内存(RAM和虚拟内存)

Asp.net Visual Basic编译器(vbc.exe)使用完所有系统内存(RAM和虚拟内存),asp.net,vb.net,compiler-errors,roslyn,Asp.net,Vb.net,Compiler Errors,Roslyn,我在Visual Studio 2019中有一个使用VB的asp.net web应用程序。该项目构建、编译和运行良好。我们发布文件并将它们放到www根文件夹中,效果很好 我们有一个aspx文件,它开始变得非常大。现在有5000多条线路,423kb。 这在命中已编译的aspx时有效,但在访问已发布的aspx时会阻塞roselyn编译器。 BC31498:字符串常量的长度超过当前内存限制。尝试将字符串拆分为多个常量。 我们从bin中删除了rosyln编译器,并在web.config中删除了引用。这导

我在Visual Studio 2019中有一个使用VB的asp.net web应用程序。该项目构建、编译和运行良好。我们发布文件并将它们放到www根文件夹中,效果很好

我们有一个aspx文件,它开始变得非常大。现在有5000多条线路,423kb。 这在命中已编译的aspx时有效,但在访问已发布的aspx时会阻塞roselyn编译器。 BC31498:字符串常量的长度超过当前内存限制。尝试将字符串拆分为多个常量。 我们从bin中删除了rosyln编译器,并在web.config中删除了引用。这导致.NET使用C:\Windows\Microsoft.NET\Framework64\v4.0.30319\vbc.exe来编译它,我们会减慢速度,然后它就会工作,服务器就会重新启动。它必须构建并缓存我假设的文件

无论如何,页面现在变大了,发布的页面将不会加载。我们得到以下错误

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\vbc.exe失败,出现以下错误

“/”应用程序中出现服务器错误

编译错误

描述:编译服务此请求所需的资源时出错。请查看以下特定错误详细信息,并适当修改源代码

编译器错误消息:编译器失败,错误代码为-2147023441

显示详细的编译器输出:

c:\windows\system32\inetsrv>c:\windows\Microsoft.NET\Framework64\v4.0.30319\vbc.exe/t:library/utf8output。。。。。。

你不能有大的aspx文件吗?div标签太多? 我清除了.net framework文件夹中的临时文件夹。没有.NET版本不匹配。已发布的代码在RAM48GB以上的非生产机器上也能正常工作


请帮忙,谢谢。

您在roslyn遇到了问题。来自C:\Windows\Microsoft.NET\Framework64\v4.0.30319的本机编译器可以处理稍大的字符串,但问题是相同的。您使用的字符串文字太大,编译器无法编译。我建议您使用资源文件.resx而不是字符串文本。这应该允许页面任意大小。

哪个字符串文字太大?整个aspx作为一个字符串?为什么它能在一台有48GB内存的机器上工作、发布?非常感谢。我不能在没有看到代码的情况下告诉您哪个字符串太大。页面中没有大字符串文字吗?很抱歉延迟。我们没有任何引号内的字符串大于500个字符,但有很多。我们使用knockout.js,所以有大量的数据绑定=诸如此类。如果你想看看代码,我会在LinkedIn上ping你。