【问题标题】:C# String-Interpolation in InfoPath FormInfoPath 表单中的 C# 字符串插值
【发布时间】:2016-10-04 22:35:07
【问题描述】:

我正在尝试将一些代码添加到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

【问题讨论】:

    标签: c# visual-studio-2012 nuget infopath


    【解决方案1】:

    我可以通过以下步骤解决这个问题:

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

    1. 从工具菜单中选择扩展和更新。
    2. 然后在打开的对话框中选择“更新”选项卡。
    3. 然后选择 Visual Studio 库。
    4. 为 Visual Studio 选择 NuGet 包管理器,然后单击更新按钮。

    接下来,退出Visual Studio 2012 InfoPath 2013(请注意,仅退出VS 将不起作用,因为InfoPath 似乎会在后台保持打开状态以便快速访问)。

    现在,重新启动并重试。这一次,我可以在Package Manager Console 中运行Install-Package Microsoft.Net.Compilers 并且C# 6.0 似乎已经安装了。

    VS2012 sill 将新的字符串插值处理为错误,因此它们确实出现在错误窗口中,我可以在文本编辑器中看到波浪形的红色下划线。

    我选择放弃新的字符串插值,因为处理这些虚假错误太烦人了。为此,我卸载了我的 .csproj 文件并删除了对 Microsoft.Net.Compilers 的引用。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    • 2015-07-01
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多