L'interpolazione delle stringhe è in effetti una funzionalità C# 6.0, ma C# 6 non è limitato a VS2015.
È possibile compilare applicazioni che sfruttano le funzionalità del linguaggio C# 6.0 in VS2013 indirizzando la piattaforma del compilatore Roslyn tramite Microsoft.Net.Compilers
NuGet package.
La mia esperienza è stata che, dopo aver installato questo pacchetto, i messaggi di errore durante la compilazione possono essere un po 'fuorvianti. Se hai errori di compilazione che non sono correlati a C# 6, ti verranno mostrati quei messaggi di errore più i messaggi di errore relativi alla sintassi non valida relativa a tutte le funzionalità di C# 6 che hai utilizzato nonostante il targeting di un compilatore che le supporta.
Per esempio ...
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Title = "Home Page";
var example = $"{ViewBag.Title}";
ImASyntaxErrorWhatAmIWheresMySemicolonLOL
return View();
}
}
si tradurrà in 4 messaggi di errore durante la compilazione:
di errore 1 carattere imprevisto '$'
errore 2 termine espressione non valido ''
Errore 3; previsto
Errore 4; previsto
I primi 3 errori qui si riferiscono alla linea che utilizza l'interpolazione stringa, solo l'ultimo errore ; expected
è un problema. Rimuovere la riga incriminata appena prima di restituire lo View
e gli errori di compilazione dell'interpolazione della stringa scompaiono e tutto va bene.
Hai bisogno di VS2015, che per tua fortuna dovrebbe essere rilasciato oggi! –
@DavidArno È possibile utilizzare C# 6 con VS2013, è sufficiente un pacchetto NuGet. Vedi [la mia risposta sotto] (http://stackoverflow.com/questions/31514767/string-interpolation-doesnt-work-with-net-framework-4-6/33179311#33179311). – joelmdev