2016-10-04 67 views
2

我想添加一些代碼到InfoPath 2013形式在SharePoint 2013網站使用。C#串插在InfoPath表單

這似乎是通過InfoPath安裝Visual Studio 2012打開它後要正常工作。

然而,進口一些我以前的代碼(這使得使用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 '.

所以,我想更新NuGetthis answer,但後來我看到:

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.0InfoPath,或者我的配置有問題嗎?

請注意,如果使用Visual Studio 2012InfoPath 2013將只允許自定義代碼。其他方面,我會使用2015

回答

2

我能夠通過以下步驟來解決此問題:

首先,使用下面的方法更新NuGet

  1. 從工具菜單中選擇擴展和更新。
  2. 然後在打開的對話框中選擇更新選項卡。
  3. 然後選擇Visual Studio Gallery。
  4. 爲Visual Studio選擇NuGet Package Manager並單擊更新按鈕。

接下來,退出Visual Studio 2012InfoPath 2013(請注意,只有退出將VS無法正常工作,因爲InfoPath似乎保持它在後臺快速訪問開放)。

現在,重新開始向上和再試一次。這一次,我能夠在Package Manager Console中運行Install-Package Microsoft.Net.Compilers,並且似乎已經安裝了C# 6.0

VS2012 sill將新的字符串插值處理爲錯誤,所以這些確實出現在錯誤窗口中,我可以在文本編輯器中看到紅色下劃線。

我選擇放棄新的字符串插值處理這些假的錯誤是太煩人了。我通過卸載我的.csproj文件並刪除了對Microsoft.Net.Compilers的引用來完成此操作。

+0

有關VS2012編譯器無法識別C#6功能的更多詳細信息:https://social.msdn.microsoft.com/Forums/en-US/2974e998-e383-47e4-b030-2117e58c38e6/can-i-use -C6-語言的功能與 - 視覺工作室2013?論壇= csharpgeneral – Bassie