ant*_*lis 4 .net vb.net invalid-characters string-interpolation redis
我正在 vb.net 中设置 Redis 缓存服务器,因此我开始在源代码中实现 Redis 类,以便稍后可以使用类方法。
我目前遇到此错误:“BC30037:无效字符”,我无法解决它。该错误来自于我的字符串前面的字符“$”,允许正常进行字符串插值。在这里它不起作用,相反,这个字符被认为是无效的(编译器不明白它是一个插值字符串,因此返回一个错误)。
我发现有人在另一个主题中解决了相同的问题,但他使用 Team Foundation Server 并正在开发 Visual Studio 项目:tfs build server - string interpolation $ Character is not valid
我正在使用 Visual Studio 2019 和 ASP.NET 4.7.2,但我没有项目(我的代码与 Visual Studio 中的代码相同,但不在项目中)。
我想知道如何以我当前的配置解决这个问题?
Public Function GetCommand() As String Implements IRedisCommand.GetCommand
Return $"APPEND {Key} {Value}" //$ is the problem here
End Function
Run Code Online (Sandbox Code Playgroud)
对于想要使用 vb.net 中的最新功能(例如字符串插值)的其他人,以下是我必须采取的解决 BC30037 错误的步骤:
我应该注意,我的错误仅在本地运行代码时出现。当发布到运行 iis 7.5+ 的服务器 2012 时,一切正常。
首先,确保您的应用正在使用.Net Framework 4.5.1
或更高版本。
接下来,打开包管理器并运行
PM> Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Run Code Online (Sandbox Code Playgroud)
这将设置您的 web.config 以针对最新的编译器。我相信这就是为什么它不能在本地工作,但可以在服务器上工作的原因。
最后,运行
PM> update-package -reinstall
Run Code Online (Sandbox Code Playgroud)
这可确保之前安装的所有库均已更新为 4.5.1+
重新编译并运行本地调试来验证!希望对某人有帮助。
归档时间: |
|
查看次数: |
2960 次 |
最近记录: |