nsp가 csproj 파일을 사용하는 데는 두 가지 옵션이 있습니다 : NAntContrib 작업을 사용하거나 msbuild.exe (예 : codecampserver)를 직접 사용하는 것 같습니다. 이 권리를 읽었습니까? 그렇다면 NAntContrib 작업보다 msbuild.exe를 사용하면 어떤 이점이 있습니까?<msbuild> 작업 또는 msbuild.exe에 NAnt?
15
A
답변
23
NAntContrib은 .NET Framework 버전 2.0을 사용합니다. .NET 3.5를 사용하려면 MsBuild.exe를 직접 호출해야합니다. 새 버전의 .NET으로 업그레이드 할 때 MSBuildPath 속성 만 수정하면됩니다. 여기
는 예제 :<property name="MSBuildPath" value="C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe"/>
<target name="build">
<exec program="${MSBuildPath}">
<arg line='"${SolutionFile}"' />
<arg line="/property:Configuration=${SolutionConfiguration}" />
<arg value="/target:Rebuild" />
<arg value="/verbosity:normal" />
<arg value="/nologo" />
<arg line='/logger:"C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll"'/>
</exec>
</target>
.NET 다양한 버전의 값이다 MSBuildPath
- 2.0, 3.0
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\MSBuild.exe
- 3.5
C:\Windows\Microsoft.NET\Framework64\v3.5\MSBuild.exe
- 4, 4.5, 4.5.1 , 4.5.2
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe
, Framework64
의견의 일부에까지 이어
업데이트 Framework
하려면 value
속성이 공백이없는 매개 변수에 사용됩니다 변경합니다. line
은 공백으로 인해 구분해야하는 매개 변수에 사용됩니다. 그렇지 않으면 응용 프로그램은 공백을 입력 끝으로 사용합니다.
2
여기 간단한 목표
<target>
<loadtasks assembly="${nant::get-base-directory()}/../../nantcontrib-0.85/bin/NAnt.Contrib.Tasks.dll" />
<msbuild project="${filepath.root}/yourproject.csproj" verbose="true">
<arg value="/p:Platform=${build.platform}" />
<arg value="/t:Rebuild" />
<arg value="/p:OutputPath=${build.dir}/bin/" />
</msbuild>
</target>
와우 덕분이다. 나는 NAntContrib이 훨씬 뒤떨어져 있다고 상상하지 못했습니다. – keithm
-1을 .NET 3.5와 함께 사용할 수 있습니다. NAnt와 NAntContrib의 최신 밤거리를 가지고 있는지 확인하십시오 (NAnt Nightly 20090130 및 NAntContrib Nightly 20090201). –
나는 NAnt에 익숙하지 않으며, arg 라인의 의미에 대해 다소 혼란 스럽다. msbuild를 다룰 때 arg 값 arg 값 arg 값. 문서가 여전히 나를 위해 일을 정리하지 못했기 때문에 누군가가 내게 그 차이점을 설명 할 수 있습니까? – sheir