2012-11-21 2 views
0

다음 배치 스크립트 코드를 사용하여 C# 코드를 컴파일하고 있지만 검은 색 창 (csc.exe)이 깜박이고 생성 된 exe 파일을 볼 수 없습니다.배치 파일을 사용하여 명령 줄에서 CSC.exe를 실행하십시오.

start /wait C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe /out:aa.exe Program.cs 
start aa.exe 
pause 

나는 Program.cs

과 같은 위치에

기본적으로 내가 원하는 동적은 Program.exe의 코드를 컴파일하고 실행하는 것입니다 파일 aa.exe을 만들려고합니다. 나는 오전

using this following references: 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.IO; 
using System.Threading; 
using System.Net.Mail; 
+0

여기에 주제에 대한 자세한 정보가있다 : [명령 줄에는 Csc.exe와 건물 (http://msdn.microsoft.com/ ko-kr/library/vstudio/78f4aasd.aspx) –

답변

2

start을 사용하여 프로그램을 시작하는 대신 cmd을 고려하십시오. cmd /K을 사용하는 경우 명령 실행 후 열어 두어야 출력 결과를 확인할 시간이 있습니다.

+0

예! 그 덕분에 지금 오류와 그 오류를 볼 수있었습니다. –

+1

정답을 표시하면 다른 사람에게 문제가 해결되었음을 알리고 시간을 낭비하지 않도록 도움이됩니다. 건배 –

1

사용 :

csc.exe /out:StackBackTraceOrRT_FATAL.exe StackBackTraceOrRT_FATAL.cs 

아니면`CSharpCodeProvider를 사용하려면?

+0

아니요 미리 컴파일 된 코드를 사용하고 싶지 않습니다. 나는 즉시 컴파일하고 실행하려고합니다. –

+0

@AkshayJ : MSDN의 CSharpCodeProvider를 참조하십시오. 문자열에서 코드를 컴파일하고 디스크 또는 메모리에 어셈블리를 생성하는 것은 C# 컴파일러에 대한 프로그래밍 가능 래퍼입니다. 그리고 요구에 따라 실행하십시오. – abatishchev

2

명령에 대한 참조를 추가하는 것을 잊지 마십시오 :

/reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\<dotnet_version>\Microsoft.CSharp.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\<dotnet_version>\mscorlib.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\<dotnet_version>\System.Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\<dotnet_version>\System.dll"