我正在尝试向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.0InfoPath一起使用,还是我的配置有问题?

请注意,InfoPath 2013仅在使用Visual Studio 2012时才允许自定义代码。否则我将使用2015

最佳答案

通过执行以下步骤,我能够解决此问题:

首先,使用以下方法更新NuGet


从工具菜单中选择扩展和更新。
然后在打开的对话框中,选择“更新”选项卡。
然后选择Visual Studio库。
选择用于Visual Studio的NuGet程序包管理器,然后单击“更新”按钮。


接下来,退出Visual Studio 2012InfoPath 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/

10-13 00:07