我正在尝试向InfoPath 2013
表单中添加一些代码以在SharePoint 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”中的元素“元数据”在命名空间中具有无效的子元素“ developmentDependency”
'http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd'。
可能的元素列表:'iconUrl,摘要,标题,projectUrl,参考,frameworkAssemblies,版权,releaseNotes,licenseUrl,标签,
依赖项,语言,描述”在命名空间“ http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd”中。
所以我尝试按照this answer更新NuGet
,但是随后我看到了:
术语“ nuget”不能识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者是否包含路径,请验证路径是否正确,然后尝试
再次。
这里发生了什么?我是在浪费时间尝试将C# 6.0
与InfoPath
一起使用,还是我的配置有问题?
请注意,InfoPath 2013
仅在使用Visual Studio 2012
时才允许自定义代码。否则我将使用2015
。
最佳答案
通过执行以下步骤,我能够解决此问题:
首先,使用以下方法更新NuGet
:
从工具菜单中选择扩展和更新。
然后在打开的对话框中,选择“更新”选项卡。
然后选择Visual Studio库。
选择用于Visual Studio的NuGet程序包管理器,然后单击“更新”按钮。
接下来,退出Visual Studio 2012
和InfoPath 2013
(请注意,仅退出VS
将不起作用,因为InfoPath
似乎将其保持在后台打开以便快速访问)。
现在,再次启动它们,然后重试。这次,我能够在Install-Package Microsoft.Net.Compilers
中运行Package Manager Console
,并且似乎已安装C# 6.0
。VS2012
窗台将新的字符串插值处理为错误,因此它们确实出现在错误窗口中,并且我可以在文本编辑器中看到波浪状的红色下划线。
我选择放弃新的字符串插值,因为处理这些假错误太烦人了。我通过卸载.csproj
文件并删除对Microsoft.Net.Compilers
的引用来做到这一点。
关于c# - C#字符串插值(InfoPath表单),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39853996/