2016-10-04 2 views
2

J'essaie d'ajouter du code à un formulaire InfoPath 2013 pour l'utiliser sur un site Web SharePoint 2013.Interpolation de chaîne C# dans le formulaire InfoPath

Cela semble fonctionner normalement après l'installation de Visual Studio 2012 et son ouverture via InfoPath.

Cependant, après l'importation d'une partie de mon ancien code (qui utilise la chaîne d'interpolation introduite dans C# 6.0), je vois maintenant cette erreur:

Unexpected character '$'

Sur les lignes où l'interpolation est utilisée.

J'ai essayé de courir Install-Package Microsoft.Net.Compilers -Version 1.3.2, mais NuGet se plaint que:

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 '.

donc j'ai essayé la mise à jour NuGet selon this answer, mais je vois:

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.

ce qui se passe ici? Suis-je perdre mon temps à essayer d'utiliser C# 6.0 avec InfoPath, ou y a-t-il un problème avec ma configuration?

Veuillez noter que InfoPath 2013 n'autorise le code personnalisé que si vous utilisez Visual Studio 2012. Sinon, j'utiliserais 2015.

Répondre

2

j'ai pu résoudre ce problème en procédant comme suit:

En premier lieu, la mise à jour NuGet selon la méthode suivante:

  1. Dans le menu Outils, sélectionnez Extensions et mises à jour.
  2. Ensuite, dans la boîte de dialogue qui s'ouvre, sélectionnez l'onglet Mises à jour.
  3. Sélectionnez ensuite Visual Studio Gallery.
  4. Sélectionnez Gestionnaire de packages NuGet pour Visual Studio et cliquez sur le bouton Mettre à jour.

Ensuite, la sortie Visual Studio 2012etInfoPath 2013 (notez que la sortie ne VS fonctionnera pas, comme InfoPath semble le garder ouvert en arrière-plan pour un accès rapide).

Maintenant, redémarrez les deux et réessayez. Cette fois, j'ai pu exécuter Install-Package Microsoft.Net.Compilers dans le Package Manager Console et C# 6.0 semble avoir été installé. Sill traite la nouvelle interpolation de chaîne comme une erreur, de sorte que ceux-ci apparaissent dans la fenêtre d'erreur et que je peux voir un soulignement rouge dans l'éditeur de texte. J'ai choisi de renoncer à la nouvelle interpolation de chaîne car traiter ces fausses erreurs est trop ennuyeux. Je l'ai fait en déchargeant mon fichier .csproj et en supprimant la référence à Microsoft.Net.Compilers.

+0

Pour plus de détails sur le compilateur VS2012 ne reconnaissant pas les fonctionnalités C# 6: https://social.msdn.microsoft.com/Forums/en-US/2974e998-e383-47e4-b030-2117e58c38e6/can-i-use -c6-language-features-with-visual-studio-2013?forum = csharpgeneral – Bassie