Visual Studio를 설치하지 않고 .NET 프로젝트를 어떻게 컴파일 할 수 있습니까?


36

.NET / C # 프로젝트를 컴파일하고 싶지만 Visual Studio를 설치하고 싶지 않습니다.

어떤 도구가 필요하며 어떻게 프로젝트를 컴파일 할 수 있습니까?


Visual Studio Express가 작동하지 않습니까?
svick 2016 년

1
@ svick : 프로젝트를 컴파일하는 데 필요한 경우 사용합니다. 그러나이 경우에는 필요하지 않으므로 프로젝트를 배포하려는 모든 컴퓨터에 설치할 필요가 없습니다. VCS에서 사본을 가져 와서 컴파일하고 실행할 수 있습니다. VS Express를 설치하면 전체 프로세스가 복잡해졌습니다.
Der Hochstapler

이 경우 더 간단한 솔루션은 컴파일 된 어셈블리를 배포 할 수 있습니다. 그렇게하면 모든 컴퓨터에서 컴파일을 수행 할 필요가 없습니다.
svick 2016 년

@ svick : 통찰력을 가져 주셔서 감사하지만 바이너리를 배포하면 내 마음이 잠시 넘어갔습니다. 이 경우에 그것이 유익한 대안이라고 생각한다면, 나는 그것을했을 것입니다. 즉,이 질문과 답변은 단순히 프로세스를 설명하기 위해 게시되었습니다. 이 프로세스가 사용자 사례로가는 방법인지 결정하는 것은 그들에게 남겨진 결정입니다.
Der Hochstapler

답변:


37
  1. 최신 .NET Framework를 다운로드하여 설치하십시오.
    예를 들어 .NET Framework 4.5 설치 관리자 의 설치 관리자를 사용할 수 있습니다 .

  2. 명령 프롬프트를 열고 .NET Framework의 설치 디렉토리로 변경하십시오.
    예를 들면 다음과 같습니다.

    cd \Windows\Microsoft.NET\Framework\v4*
    
  3. 사용 MSBuild.exe솔루션을 컴파일합니다.
    예를 들면 다음과 같습니다.

    msbuild "C:\Users\Oliver\Documents\My Project\My Project.sln" /t:Rebuild /p:Configuration=Release /p:Platform="Any CPU"

프로젝트가 NuGet 패키지를 사용하는 경우 다음 단계에 따라 패키지를 검색 할 수 있습니다.

  1. 예를 들어 NuGet.exe 명령 줄 부스트 래퍼를 다운로드하여 솔루션 디렉터리 안에 넣습니다.

  2. 명령 프롬프트를 열고 솔루션 디렉토리로 변경하십시오.
    예를 들면 다음과 같습니다.

    cd "C:\Users\Oliver\Documents\My Project"
    
  3. NuGet.exe이 솔루션에 필요한 패키지를 업데이트하려면 호출 하십시오.

    NuGet.exe install "My Project/packages.config" -o packages/
    

좋은! MSBuild 설명서 링크가 있습니까? 또한 이것은 이미 가지고있는 VS 프로젝트를위한 것입니다. .CS 또는 다른 소스 파일에서 코드를 컴파일하는 것은 어떻습니까?
Karan

2
@Karan-누구나이 기사 msdn.microsoft.com/en-us/library/vstudio/78f4aasd.aspx를 바탕으로 답변을 보려고 합니까?
Ramhound 2016 년

@Ramhound : 지식이 풍부한 사람 이이 모든 것을 단일 FAQ 유형의 답변에 통합 할 수 있다고 생각합니다. 또한 해결 될 수있는 몇 가지 후속 질문도 있습니다. csc.exe는 최종 사용자 .NET Framework 설치와 함께 제공됩니까? 클라이언트 프로파일 만 설치하는 경우에도 포함됩니까?
Karan

1
@ Karan : MSBuild.exe명령 줄 인수 설명서 에 대한 링크를 추가했습니다 . 예, 이것은 이미 로컬 머신에있는 프로젝트를위한 것입니다 (GitHub에서 다운로드 가능). Ramhound가 언급했듯이 csc.exe단일 파일을 컴파일하는 도구입니다. csc.exe.NET Framework와 함께 번들로 제공됩니다. 핵심 C # 컴파일러이며 MSBuild가이를 호출합니다. 클라이언트 프로파일에 대해서는 확실하지 않지만 포함되어 있다고 가정합니다.
Der Hochstapler

1
csc.exe포함되어야 하는 한 가지 이유 는 클라이언트 프로파일에 XmlSerializer클래스가 포함되어 있기 때문 입니다. 이 클래스 csc.exe는 런타임에 직렬화 어셈블리 (를 사용하여 )를 생성 합니다.
19:07에

3

당신은 비주얼 스튜디오를 설치하지 않도록하려는 경우, 당신은 시도 할 수도 모노 하는 크로스 플랫폼 오픈 소스 닷넷 런타임 및 개발 프레임 워크를. Mono는 C #에 대해 게시 된 ECMA 표준을 기반으로하며 사전 컴파일 된 C # 응용 프로그램과 직접 호환됩니다.

Mono에는 MSBuild를 완전히 대체 할 수있는 XBuild 도구 도 포함되어 있습니다. MSBuild에서 XBuild로 프로젝트 를 이식하는 방법에 대해서는 Mono 프로젝트에서이 기사를 참조하십시오 . 위키에서 XBuild에 대한 한 줄 설명 :

xbuild는 Mono의 msbuild 구현이며 msbuild 파일이있는 프로젝트를 Linux에서 기본적으로 컴파일 할 수 있도록합니다.

Linux 외에도 Windows 및 Mac OS X도 지원됩니다.


1
mono창문에서 사용할 이유가 있습니까?
Rishav

2
@Rishav 정치적인 고려 사항? 아마도 Windows를 사용해야하지만 가능한 한 적은 다른 Microsoft 기술을 사용하려는 사람에게 적합 할 수 있습니다. 그래도 추측하고 있습니다.
Jamie
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.