2016-08-05 70 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,然後嘗試在詹金斯重建任何項目。

相關問題