【问题标题】:Fake can't handle if假货无法处理
【发布时间】:2018-05-18 18:10:45
【问题描述】:

我有一个 WPF 项目,它是用 FAKE 构建的。但是,由于我使用的是像

这样的 C# 元素
if (value is Datatype variable){
    //CODE
}

我不再能够构建程序,但我可以从 VS 运行它。我认为问题在于我在 VS 中使用了更新的编译器版本。我可以从 FAKE 更改编译器版本,还是可以强制我的构建脚本使用特定版本。我已尝试删除这些功能以检查问题是否真的出在此语法上。

【问题讨论】:

  • 我也试过安装 Microsoft.Net.Compilers 包
  • "...我无法再构建..."您遇到什么错误?
  • 正如 Kevin Smith 所写,当我使用 IF 表达式时,我想在我的帖子中使用 C# 7 功能作为示例,我得到了这个异常: Classname.cs(13,46): error CS1026: )预期的类名。 cs(13,60): 错误 CS1002: ;预期类名 .cs(13,60): 错误 CS1513: } 预期

标签: c# build-script


【解决方案1】:

看起来您正在使用一些 C# 7 功能并且 FAKE 没有运行语言版本为 7 的 MSBuild,请将以下内容添加到您的 csproj

<PropertyGroup>
  <LangVersion>latest</LangVersion>
</PropertyGroup>

它会强制编译器使用最新的语言版本

【讨论】:

  • 这对我不起作用。目前我刚刚删除了这种语言功能。
猜你喜欢
  • 2011-04-29
  • 1970-01-01
  • 2010-10-14
  • 1970-01-01
  • 2014-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-27
相关资源
最近更新 更多