我的项目中有一个.cs文件,其中包含以下内容:
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 framework 4.1.6。 在Jenkins中,MSBUILD.EXE的位置指向路径下方:
C:\的Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ MSBuild.exe
那么问题是什么?
答案 0 :(得分:0)
这可以通过安装nuget包来解决: Microsoft.Net.Compilers
将该包添加到使用c#6的任何项目中,然后尝试在Jenkins中重建。
答案 1 :(得分:0)
这可能是由MSBuild的旧版本引起的。如果已安装Visual Studio 2019,则应具有较新的MSBuild,否则应将其安装在构建服务器上。
您可以找到带有vswhere的MSBuild:运行vswhere -find msbuild
将为您提供位置,并且您可以指定要查找的版本。
如果安装了Visual Studio,则默认位置是
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\msbuild.exe
(必要时,将 2019 替换为Visual Studio版本,并将 Community 替换为您的版本)