2016-08-05 319 views
0

我已经在我的项目一个cs文件具有以下内容:错误CS1002:;预期和错误CS1520:方法必须有一个返回类型

namespace Xyz.NotificationServer.Common.Helper.Configuration 
{ 
    public static class ApplicationConfiguration 
    { 

     public static string Domain => "Domain".GetSettingAsString(); 

     public static string LdapPath => "LDAPPath".GetSettingAsString(); 
     public static string Referer => "Referer".GetSettingAsString(); 

     public static string ReportExecutionService => "ReportExecutionService".GetSettingAsString(); 

     public static string OAuthServer => "OAuthServer".GetSettingAsString(); 

     public static string DomainName => "DomainName".GetSettingAsString(); 

     public static string HostIpAddress => "HostIpAddress".GetSettingAsString(); 
     public static string Authority => "Authority".GetSettingAsString(); 
     public static string ClientId => "ClientId".GetSettingAsString(); 
     public static string ClientSecret => "ClientSecret".GetSettingAsString(); 
     public static string RequiredScopes => "RequiredScopes".GetSettingAsString(); 

     public static string To => "to".GetSettingAsString(); 

     /*-------------------------------Code start to read configuration string------------------------------------------*/ 
     public static string ConnectionString => "Default".GetConfigSettingAsString(); 
     /*-------------------------------Code end to read configuration string------------------------------------------*/ 


    } 
} 

该项目的目标.NET框架是4.1.6。所以,当我试图使用Visual Studio构建这个项目时,它不会显示任何错误,但是当我试图从Jenkins构建这个项目时,它会在每行上显示错误CS1002和CS1520。

我的.net框架4.1.6安装在我的机器上。 而在詹金斯MSBUILD.EXE的位置指向以下路径:

C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 \ MSBuild.exe

那么是什么问题?

+1

这是一个完全标准的“不想支付VS许可证”问题。您使用的是MSBuild的错误版本,它不是Roslyn驱动的,因此没有C#v6功能。只保留c:\ windows \ microsoft.net中的副本,以避免旧的构建服务器发生故障。您必须使用存储在c:\ program files中的MSBuild版本。 –

回答

0

这可以通过安装NuGet包来解决: Microsoft.Net.Compilers

那个包添加到使用C#6,然后尝试在詹金斯重建任何项目。

相关问题