【问题标题】:Property setting works in development machine but not in Build Server属性设置在开发机器中有效,但在构建服务器中无效
【发布时间】:2016-06-15 08:08:20
【问题描述】:
public static bool Property1 { get; set; } = true;

Visual Studio 2015 Update 2 允许上述设置并以 .NET 4.0 作为目标平台进行编译。

但是,没有 Visual Studio 并使用 Jenkins 使用 .NET 4.0 编译的构建服务器在这一行中失败了。

必须更正为:

public static bool Property1 { get; set; }

如何阻止 Visual Studio 让一个后来破坏构建服务器的设置?

【问题讨论】:

    标签: c# jenkins visual-studio-2015


    【解决方案1】:

    使用 C# 6,您可以直接初始化自动属性,即使在 .Net 4 中,新编译器也可以使用 C# 6 语言功能。如果您使用旧编译器,它将无法编译 - 这应该是您的问题.

    所以在设置中为每个项目设置语言功能:

    Properties => Build tab => Advanced button => Language Version 
    

    【讨论】:

      【解决方案2】:

      属性默认值是一个 c# 6.0 构造,在 .Net 4.6 中。

      VS 2015 更新 2 具有 .Net 4.6。即使您关心编译到 4.0,它仍然使用 4.6 库,并且您使用的属性默认值语法是有效的。

      在您的独立服务器中,您只有 .Net 4.0。这是 c# 4.0 版,不支持属性的默认值。

      您可以继续编译为 .Net 4.0,但是您需要将 .Net 4.6 库添加到您的构建服务器。

      【讨论】:

      猜你喜欢
      • 2020-10-09
      • 2020-01-23
      • 1970-01-01
      • 2015-07-07
      • 2012-08-07
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      相关资源
      最近更新 更多