이것은 작동하는 C# 6 테스트 코드입니다. 그것은 Microsoft.Build (Visual Studio SDK)로 C# 6을 컴파일하는 중 오류가 발생했습니다.
namespace testcode
{
class Program
{
static void Main(string[] args)
{
string x = null ;
string y = x?.Substring(0, 2);
return;
}
}
}
VS2015
에 컴파일cproj
는 toolsversion
14.0
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
이 내가 비주얼 스튜디오 SDK
//References Microsoft.Build and Microsoft.Build.Framework
namespace MSBuildTest
{
class Program
{
static void Main(string[] args)
{
var pc = new Microsoft.Build.Evaluation.ProjectCollection(Microsoft.Build.Evaluation.ToolsetDefinitionLocations.Registry);
pc.DefaultToolsVersion = "14.0";
pc.RegisterLogger(new Microsoft.Build.Logging.ConsoleLogger(Microsoft.Build.Framework.LoggerVerbosity.Detailed));
var pr = pc.LoadProject(@"C:\path\to\testcode.cproj");
pr.Build();
}
}
}
를 통해
MSBUILD로 컴파일하기 위해 노력하고있어 어떻게에게 있습니다
이것은 오류 메시지
입니다.Program.cs(8,26): error CS1525: Invalid expression term '.' Program.cs(8,27): error CS1003: Syntax error, ':' expected 0 Warning(s) 2 Error(s)
나는 그것이 잘못된 MSBUILD 실행 파일을 사용하여 같아요,하지만 난 MSBUILD 빈 경로를 강제 할 수있는 방법을 찾을 수 없습니다.
14.0 \ 빈 \ Microsoft.Build.Framework.dll \ 당신 C# v5로 다시 작성합니다. – DavidG
@DavidG하지만 어떻게 수정해야합니까? – xvan
아마도'Microsoft.Build. *'라이브러리를 참조 할 것입니까? 그들에게 완전한 길은 무엇입니까? – DavidG