Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
插值字符串$被视为无效字符,并返回错误BC30037(vb.net)_.net_Vb.net_Redis_String Interpolation_Invalid Characters - Fatal编程技术网

插值字符串$被视为无效字符,并返回错误BC30037(vb.net)

插值字符串$被视为无效字符,并返回错误BC30037(vb.net),.net,vb.net,redis,string-interpolation,invalid-characters,.net,Vb.net,Redis,String Interpolation,Invalid Characters,我正在vb.net中设置一个Redis缓存服务器,因此我开始在源代码中实现Redis类,以便以后可以使用类方法 我当前有以下错误:BC30037:无效字符,无法解决它。错误来自字符串前面的字符$,允许正常进行字符串插值。这里它不起作用,相反,这个字符被认为是无效的。编译器不理解它是一个插值字符串,因此返回一个错误,因为 我发现有人在另一个主题中解决了同样的问题,但他使用Team Foundation Server并正在VisualStudio项目中工作: 我正在使用Visual Studio 2

我正在vb.net中设置一个Redis缓存服务器,因此我开始在源代码中实现Redis类,以便以后可以使用类方法

我当前有以下错误:BC30037:无效字符,无法解决它。错误来自字符串前面的字符$,允许正常进行字符串插值。这里它不起作用,相反,这个字符被认为是无效的。编译器不理解它是一个插值字符串,因此返回一个错误,因为

我发现有人在另一个主题中解决了同样的问题,但他使用Team Foundation Server并正在VisualStudio项目中工作:


我正在使用Visual Studio 2019和ASP.NET 4.7.2,但我没有项目我的代码与Visual Studio中的代码相同,但不在项目中

我想知道如何用我当前的配置解决这个问题

公共函数GetCommand作为字符串实现IRedisCommand.GetCommand 返回$APPEND{Key}{Value}/$是这里的问题 端函数
我终于找到了解决这个问题的另一种方法:我使用String.Format方法根据指定的格式将对象的值转换成字符串,并将它们插入到另一个字符串中

现在看起来是这样的:

Public Function GetCommand() As String Implements IRedisCommand.GetCommand
    Return String.Format("APPEND {0} {1}", Key, Value)
End Function
顺便说一下,感谢您对vb评论的澄清


祝你今天愉快

对于任何想使用vb.net中最新功能(如字符串插值)的人,我必须采取以下步骤来解决BC30037错误:

我应该注意,我的错误只在本地运行代码时出现。当发布到运行iis 7.5+的服务器2012时,一切正常

首先,确保您的应用程序使用的是.Net Framework 4.5.1或更高版本

接下来,打开包管理器并运行

PM> Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
这将设置web.config以针对最新的编译器。我相信这就是为什么它不在本地工作,而是在服务器上工作的原因

最后,跑

PM> update-package -reinstall
这将确保以前安装的所有库都针对4.5.1进行了更新+

重新编译并运行本地调试以进行验证!
希望这对某人有所帮助。

您是否在使用Option Strict On?如果不是,可能还有其他一些问题使得$出现问题。vb.net中的注释字符是单引号not//,这是C。Return${Key}${Value}还使用“and not//”创建单行注释。VB中不存在多行注释。我的代码与visual studio中的代码相同,但不在项目中。如果没有项目,如何访问编辑器?我正在处理包含源代码的文件夹,该文件夹位于本地IIS服务器上,允许我查看站点的外观。但由于我在代码中实现了Redis,因此我无法再访问我的站点。