C#内联变量声明无法在Appveyor上部署

时间:2018-10-25 13:22:09

标签: c# appveyor

我有一个部署c#Web api的Appveyor项目。我遇到了这个错误:

File.cs(1460,52): error CS1525: Invalid expression term 'int' 

列出了许多其他错误,但所有错误都指向一件事。内联变量声明。这是导致错误的各种文件中的代码:

Guard.Requires(Uri.TryCreate($"{functionUrl}", UriKind.Absolute, out var url), "Invalid functionUrl was supplied");
index.TryGetValue(obj.Id, out int? parentId);
offsets.TryGetValue(obj2.Id, out double? time);

我查看了自己的构建环境,并注意到将其设置为VS2015。我认为将其更改为VS2017可以解决该问题,但是并没有。

我所有的项目都设置为使用最新的次要C#版本(在撰写本文时为7.3)。内联变量声明是C#7的一项功能,因此在那里我应该会很好。

如何才能部署它?我觉得这可能是Appveyor或我缺少的csproj文件中的某些模糊设置。

1 个答案:

答案 0 :(得分:0)

确保您的.csproj确实包含<LangVersion>latest</LangVersion>。如果没有,请确保在VS中更改语言版本后保存项目。

如果这不起作用,请尝试<LangVersion>7.3</LangVersion>

如果这不起作用,请发布指向构建的链接。如果您认为它是机密的,请将其发送到support@appveyor.com