簡體   English   中英

InfoPath 表單中的 C# 字符串插值

[英]C# String-Interpolation in InfoPath Form

我正在嘗試向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 '。

預期的可能元素列表:命名空間“ http://schemas.microsoft.com/packaging/2010/ ”中的“iconUrl、摘要、標題、projectUrl、引用、frameworkAssemblies、版權、releaseNotes、licenseUrl、標簽、依賴項、語言、描述” 07/nuspec.xsd '。

所以我嘗試按照這個答案更新NuGet ,但后來我看到:

術語“nuget”不被識別為 cmdlet、函數、腳本文件或可運行程序的名稱。 檢查名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確,然后重試。

這里發生了什么? 我是在浪費時間嘗試將C# 6.0InfoPath ,還是我的配置有問題?

請注意, InfoPath 2013只允許使用Visual Studio 2012自定義代碼。 否則我會使用2015

我能夠通過以下步驟解決這個問題:

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

  1. 從工具菜單中選擇擴展和更新。
  2. 然后在打開的對話框中選擇更新選項卡。
  3. 然后選擇 Visual Studio 庫。
  4. 選擇適用於 Visual Studio 的 NuGet 包管理器,然后單擊更新按鈕。

接下來,退出Visual Studio 2012InfoPath 2013 (請注意,僅退出VS將不起作用,因為InfoPath似乎在后台保持打開狀態以便快速訪問)。

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

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

我選擇放棄新的字符串插值,因為處理這些假錯誤太煩人了。 我通過卸載我的.csproj文件並刪除對Microsoft.Net.Compilers的引用來做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM