VBC 编译器仅支持 Visual Basic 2012

VBC compiler only support visual basic 2012

提问人:want_to_be_calm 提问时间:2/19/2023 最后编辑:Daiwant_to_be_calm 更新时间:2/19/2023 访问量:276

问:

我正在尝试运行Web服务的调试实例,我在Windows 2012服务器中运行,但是它有以下错误。我再次从微软下载了 iis express 10。但是,这是行不通的。我发现我可以在 Windows 10 中运行 Web 服务。我发现 Windows 10.0.25095.1000 中的 IIS Express 版本是 10。在 Windows 中,它是 10.0.15000.1000。这是原因吗?或者我可以升级VBC编译器的任何方法?

    Server Error in '/' Application.
    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: BC2001: file 'em.Configuration,System.Text,System.Text.RegularExpressions,System.Web,System.Web.Caching,System.Web.SessionState,System.Web.Security,System.Web.Profile,System.Web.UI,System.Web.UI.WebControls,System.Web.UI.WebControls.WebParts,System.Web.UI.HtmlControls' could not be found
    
    Source Error:
    
    
    [No relevant source lines]
    
    Source File: vbc : Command line    Line: 0
    
    
    Show Detailed Compiler Output:
    
    C:\Program Files\IIS Express> "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\vbc.exe" /t:library /utf8output /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_64\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll" /R:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\vs\d9469d7f\2e49f07\assembly\dl3\304622d1\e3f1eacb_b743d901\MonitorAgentLib.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_64\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.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\assembly\GAC_MSIL\System.ServiceModel.Activities\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Activities.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\assembly\GAC_MSIL\System.Web.ApplicationServices\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.ApplicationServices.dll" /R:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\vs\d9469d7f\2e49f07\assembly\dl3\fbd2d313\006ff38d_251bd701\Newtonsoft.Json.dll" /R:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\vs\d9469d7f\2e49f07\assembly\dl3\c69ff0e2\d24564cb_b743d901\CoreLib.dll" /R:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\vs\d9469d7f\2e49f07\assembly\dl3\b3e36328\066be9cb_b743d901\PrintServiceAgentLib.dll" /R:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\vs\d9469d7f\2e49f07\assembly\dl3\00b34a46\4b32e8cb_b743d901\EnTrakLib.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.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.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_MSIL\System.ServiceModel.Activation\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Activation.dll" /R:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\vs\d9469d7f\2e49f07\assembly\dl3\a02ce63f\6c44b6cb_b743d901\ConfigMgr.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.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" /R:"C:\Windows\Microsoft.Net\assembly\GAC_64\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll" /R:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\vs\d9469d7f\2e49f07\assembly\dl3\95b0a27d\402a1fcc_b743d901\CoreServiceAgentLib.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.WorkflowServices\v4.0_4.0.0.0__31bf3856ad364e35\System.WorkflowServices.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\v4.0_4.0.0.0__b77a5c561934e089\System.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\Framework64\v4.0.30319\Temporary ASP.NET Files\vs\d9469d7f\2e49f07\assembly\dl3\dd9f32d7\6bdcebcb_b743d901\PrintRouterAgentLib.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.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.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\assembly\GAC_MSIL\Microsoft.CSharp\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.CSharp.dll" /R:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\vs\d9469d7f\2e49f07\assembly\dl3\53f0c7db\a5e59dcc_b743d901\MobilityPortal.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.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" /R:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\vs\d9469d7f\2e49f07\assembly\dl3\9f7b9db6\f29e287f_f47ad801\EntityFramework.dll" /out:"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\vs\d9469d7f\2e49f07\App_global.asax.6kzsdhsa.dll" /D:DEBUG=1 /debug+ /nowarn:41008,40000,40008 /define:_MYTYPE=\"Web\" /imports:Microsoft.VisualBasic,System,System.Collections,System.Collections.Specialized,Syst  em.Configuration,System.Text,System.Text.RegularExpressions,System.Web,System.Web.Caching,System.Web.SessionState,System.Web.Security,System.Web.Profile,System.Web.UI,System.Web.UI.WebControls,System.Web.UI.WebControls.WebParts,System.Web.UI.HtmlControls /warnaserror- /optionInfer+  "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\vs\d9469d7f\2e49f07\App_global.asax.6kzsdhsa.0.vb" "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\vs\d9469d7f\2e49f07\App_global.asax.6kzsdhsa.1.vb"

Microsoft (R) Visual Basic 编译器版本 14.8.3761 for Visual Basic 2012
版权所有 (c) Microsoft Corporation。保留所有权利。

此编译器作为 Microsoft (R) .NET Framework 的一部分提供,但仅支持 Visual Basic 2012 之前的语言版本,该版本不再是最新版本。有关支持较新版本的 Visual Basic 编程语言的编译器,请参见 http://go.microsoft.com/fwlink/?LinkID=533241

vbc : Command line error BC2001 : file 'em.Configuration,System.Text,System.Text.RegularExpressions,System.Web,System.Web.Caching,System.Web.SessionState,System.Web.Security,System.Web.Profile,System.Web.UI,System.Web.UI.WebControls,System.Web.UI.WebControls.WebParts,System.Web.UI.HtmlControls' could not be found
asp.net .NET Web-Services IIS-Express VBC

评论

0赞 want_to_be_calm 2/19/2023
Windows Server 中的 vbc 是 Microsoft (R) Visual Basic 编译器版本 14.8.3761。Windows 中的 VBC.exe 是 14.8.4084。是无法编译的原因吗?
0赞 Dai 2/19/2023
编译器错误“命令行错误 BC2001:文件。配置,System.Text...”从左边截断(它应该是 ,而不是 ,这表明您的 OR 文件已损坏。System.Configurationem.Configurationweb.config.vbproj
0赞 Joel Coehoorn 2/19/2023
如果你有 Windows Server,则你有完整版本的 IIS,这意味着不需要 IIS Express。将 Web 服务器角色添加到服务器,包括 .Net Framework 功能。
0赞 Albert D. Kallal 2/19/2023
你是否在带有副本的开发箱上使用 Visual Studio?您需要安装 Visual Studio 才能在此处进行任何类型的测试、调试或代码修复 - 真的,您只需要这样做!而且我怀疑使用较新版本的 vb.net 在这里会有什么问题。当然,如果您使用 Visual Studio,则打开此项目将显示您使用的 .net 版本。更重要的是,您希望/需要/应该/必须确定这是一个 asp.net 网站,还是一个 asp.net 网站应用程序。
0赞 want_to_be_calm 2/20/2023
@Dai您的评论就是答案。请把它作为答案。

答:

0赞 Lex Li 2/19/2023 #1

我以后可能会把它变成一个真正的答案,或者干脆删除它。

正如您在问题正文中显示的多个问题一样,您应该关注的主要问题是“此编译器作为 Microsoft (R) .NET Framework 的一部分提供,但仅支持 Visual Basic 2012 之前的语言版本,这不再是最新版本。有关支持较新版本的 Visual Basic 编程语言的编译器,请参见 http://go.microsoft.com/fwlink/?LinkID=533241”。

就像我写的关于 C# 编译器的文章一样,现代项目(C# 或 VB.NET)不应再使用 .NET Framework 本身附带的编译器。

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\vbc.exe"是证明当您看到错误时,使用了旧版编译器。

因此,你将不得不返回到原始 Web 项目,并检查它为什么使用旧版 VB.NET 编译器,而不是通常通过 NuGet 包提供的最新基于 Roslyn 的编译器。你的 VS 版本也很重要。请编辑问题以包含此类重要信息,以便进行进一步讨论

请注意,IIS Express 在这里完全无关紧要,您甚至不应该将其安装在 Windows Server 计算机上,因为它根本不是为生产用途而设计的。完整的 IIS 8 或 8.5 是您应该使用的那个。

评论

0赞 Shodan 7/27/2023
这是 Windows 附带的编译器。这个问题没有回答人们将这个查询放入搜索中的原因。什么是 vbc 编译器版本 14.8.4084。它代表什么 .NET 版本,以及它缺少哪些后续功能(使用此编译器并搜索此编译器的人,无论出于何种原因,都不能使用其他编译器)
0赞 Lex Li 7/27/2023
@Shodan 如果您“无法使用其他编译器”,则需要先解决该部分。一个在2012年之后没有进行任何创新的项目,由于这种不合理的限制本身,注定会出现大量的问题,没有人(包括Microsoft)可以进一步提供帮助。
0赞 Shodan 7/27/2023
在过去的 9 个月里,我的大部分空闲时间都花在了用批处理文件语言编程上。有些人没有奢侈地下载新的编译器。vbc 版本 14.8.4084 是 Windows 22H2 附带的,除非有人有时间机器,否则搜索“vbc 仅支持 2012”的人都必须使用。否则,他们根本不会搜索这些关键字
0赞 Lex Li 7/27/2023
@Shodan那么究竟什么是“奢侈品”呢?新编译器以多种方式提供,几乎不需要任何努力即可获取:1) GitHub 上 Roslyn 存储库中的源代码,2) .NET Core SDK/Visual Studio 生成工具/社区版本中的二进制文件,以及 3) NuGet 包。同样,没有充分的理由留在旧人身边。
0赞 Shodan 7/27/2023
就像我说的“无论出于何种原因”,无法访问互联网,只读系统,没有安装权限,代理阻止所有下载,不可变系统任您选择。我的系统甚至没有 nuget,我把它和 BITS 系统的其余部分一起撕掉了。我正在撕掉微软代码,我要做的最后一件事就是添加更多代码。