사용자가 코드를 붙여넣고 미리 설정된 언어 (C#, VB.NET, Python, Ruby 등) 중 하나를 선택하는 ASP.NET 페이지에 텍스트 상자가 있어야합니다. 코드가 성공적으로 컴파일되는지 확인해야합니다. 그렇지 않으면 줄 번호로 오류 및 경고를 표시해야합니다.ASP.NET 웹 사이트의 코드 컴파일
어떻게해야합니까?
사용자가 코드를 붙여넣고 미리 설정된 언어 (C#, VB.NET, Python, Ruby 등) 중 하나를 선택하는 ASP.NET 페이지에 텍스트 상자가 있어야합니다. 코드가 성공적으로 컴파일되는지 확인해야합니다. 그렇지 않으면 줄 번호로 오류 및 경고를 표시해야합니다.ASP.NET 웹 사이트의 코드 컴파일
어떻게해야합니까?
지원하려는 모든 종류의 컴파일러를 호스팅하고 해당 API를 사용해야합니다. 컴파일러가 API를 공개하지 않으면 System.Diagnostics.Process
을 사용하여이를 실행하고 구문 분석을 위해 출력을 가져와야합니다.
이것은 사소한 작업과는 거리가 멀다.
필요한 경우 자신에게 몇 가지 질문하십시오.
그리고 이것은 빙산의 일각에 불과합니다.
댓글을 답하십시오. 예, CodeDOM이라고하는 C# 및 VB .NET 용 컴파일러 API가 있습니다.
그물에 관한 많은 정보가 있습니다. this question도 확인하시기 바랍니다.
어제 출하 된 http://msdn.microsoft.com/en-us/roslyn에서 Roslyn 프로젝트 (이전의 컴파일러 서비스)를 살펴볼 수 있습니다. 이것은 C#과 VB를위한 새로운 컴파일러 API입니다. 파이썬이나 루비에서는 도움이되지 않지만 일단 C#과 VB가 출시되면 (Dev 11 이후) 필요한 것을해야합니다.
C# 및 VB의 경우 Roslyn CTP을 사용하여 Compilation 개체를 만든 다음 GetDiagnostics() 메서드를 호출하여 오류를 확인합니다.
처음에 C# 및 VB.NET을 사용하여 시작하려는 경우 컴파일을 수행하기 위해 API가 공개되어 있는지 알고 있습니까? – Dusty
@Dusty, 나는 대답을 편집했다. –