InfoPath 表单中的 C# 字符串插值
C# String-Interpolation in InfoPath Form
我正在尝试向 InfoPath 2013
表单添加一些代码,以便在 SharePoint 2013
网站上使用。
这似乎在安装 Visual Studio 2012
并通过 InfoPath
打开它后正常工作。
但是,在导入我的一些旧代码(使用 C# 6.0
中引入的字符串插值)之后,我现在看到这个错误:
Unexpected character '$'
在使用插值的行上。
我尝试了 运行 Install-Package Microsoft.Net.Compilers -Version 1.3.2
,但是 NuGet
抱怨说:
The element 'metadata' in namespace 'http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd' has invalid child element 'developmentDependency' in namespace
'http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd'.
List of possible elements expected: 'iconUrl, summary, title, projectUrl, references, frameworkAssemblies, copyright, releaseNotes, licenseUrl, tags,
dependencies, language, description' in namespace 'http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd'.
所以我尝试按照 this answer 更新 NuGet
,但后来我看到:
The term 'nuget' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
again.
这是怎么回事?我是在浪费时间尝试将 C# 6.0
与 InfoPath
一起使用,还是我的配置有问题?
请注意,InfoPath 2013
仅在使用 Visual Studio 2012
时才允许自定义代码。否则我会使用 2015
.
我按照以下步骤解决了这个问题:
首先,使用以下方法更新 NuGet
:
- 从“工具”菜单select扩展和更新。
- 然后在打开的对话框中 select 更新选项卡。
- 然后selectVisual Studio图库。
- Select Visual Studio 的 NuGet 包管理器并单击“更新”按钮。
接下来退出Visual Studio 2012
和InfoPath 2013
(注意只退出VS
是不行的,因为出现InfoPath
使其在后台打开以便快速访问)。
现在,重新启动并重试。这一次,我能够在Package Manager Console
和C# 6.0
中运行Install-Package Microsoft.Net.Compilers
似乎已经安装了
VS2012
sill 将新的字符串插值处理为错误,因此这些确实出现在错误 window 中,我可以在文本编辑器中看到波浪形的红色下划线。
我选择放弃新的字符串插值,因为处理这些假错误太烦人了。我通过卸载 .csproj
文件并删除对 Microsoft.Net.Compilers
.
的引用来完成此操作
我正在尝试向 InfoPath 2013
表单添加一些代码,以便在 SharePoint 2013
网站上使用。
这似乎在安装 Visual Studio 2012
并通过 InfoPath
打开它后正常工作。
但是,在导入我的一些旧代码(使用 C# 6.0
中引入的字符串插值)之后,我现在看到这个错误:
Unexpected character '$'
在使用插值的行上。
我尝试了 运行 Install-Package Microsoft.Net.Compilers -Version 1.3.2
,但是 NuGet
抱怨说:
The element 'metadata' in namespace 'http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd' has invalid child element 'developmentDependency' in namespace 'http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd'.
List of possible elements expected: 'iconUrl, summary, title, projectUrl, references, frameworkAssemblies, copyright, releaseNotes, licenseUrl, tags, dependencies, language, description' in namespace 'http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd'.
所以我尝试按照 this answer 更新 NuGet
,但后来我看到:
The term 'nuget' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
这是怎么回事?我是在浪费时间尝试将 C# 6.0
与 InfoPath
一起使用,还是我的配置有问题?
请注意,InfoPath 2013
仅在使用 Visual Studio 2012
时才允许自定义代码。否则我会使用 2015
.
我按照以下步骤解决了这个问题:
首先,使用以下方法更新 NuGet
:
- 从“工具”菜单select扩展和更新。
- 然后在打开的对话框中 select 更新选项卡。
- 然后selectVisual Studio图库。
- Select Visual Studio 的 NuGet 包管理器并单击“更新”按钮。
接下来退出Visual Studio 2012
和InfoPath 2013
(注意只退出VS
是不行的,因为出现InfoPath
使其在后台打开以便快速访问)。
现在,重新启动并重试。这一次,我能够在Package Manager Console
和C# 6.0
中运行Install-Package Microsoft.Net.Compilers
似乎已经安装了
VS2012
sill 将新的字符串插值处理为错误,因此这些确实出现在错误 window 中,我可以在文本编辑器中看到波浪形的红色下划线。
我选择放弃新的字符串插值,因为处理这些假错误太烦人了。我通过卸载 .csproj
文件并删除对 Microsoft.Net.Compilers
.