InfoPath表单中的c#字符串插值
本文关键字:字符串 插值 表单 InfoPath | 更新日期: 2023-09-27 18:11:31
我试图在SharePoint 2013
网站上添加一些代码到InfoPath 2013
表单。
安装Visual Studio 2012
并通过InfoPath
打开后,这似乎正常工作。
然而,在导入一些旧代码(它使用了C# 6.0
中引入的字符串插值)之后,我现在看到了这个错误:
意外字符'$'
在使用插值的行。
我试着运行Install-Package Microsoft.Net.Compilers -Version 1.3.2
,但NuGet
抱怨:
命名空间'http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd'中的'metadata'元素在命名空间'developmentDependency'中有无效的子元素"http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"。
期望的可能元素列表:'iconUrl, summary, title, projectUrl, references, frameworkAssemblies, copyright, releaseNotes, licenseUrl, tags,依赖项,语言,描述'在命名空间'http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd'。
所以我试着根据这个答案更新NuGet
,但后来我看到:
术语"nuget"不能被识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确并尝试一次。
这是怎么回事?我是在浪费时间尝试将C# 6.0
与InfoPath
一起使用,还是我的配置有问题?
请注意,InfoPath 2013
将只允许自定义代码,如果使用Visual Studio 2012
。否则我会使用2015
我可以通过以下步骤解决这个问题:
首先,使用以下方法更新NuGet
:
- 从工具菜单中选择扩展和更新。然后在打开的对话框中选择Updates选项卡。然后选择Visual Studio Gallery.选择NuGet Package Manager for Visual Studio,然后点击Update按钮。
接下来,退出Visual Studio 2012
和 InfoPath 2013
(注意,只退出VS
将不起作用,因为InfoPath
似乎在后台保持打开状态以便快速访问)。
现在,重新启动并再次尝试。这一次,我能够在Package Manager Console
和C# 6.0
中运行Install-Package Microsoft.Net.Compilers
。
VS2012
仍然将新的字符串插值处理为错误,因此这些确实出现在错误窗口中,我可以在文本编辑器中看到弯弯曲曲的红色下划线。
我选择放弃新的字符串插值,因为处理这些假错误太烦人了。我通过卸载我的.csproj
文件并删除对Microsoft.Net.Compilers
的引用来做到这一点。