문제

가 msbuild 프로젝트 파일에 사용되는 여러 가지 건물 C++프로젝트(*.vcproj).여기에서의 한 부분이 일반적인 프로젝트 파일에서는 글로벌 환경에 대한 변수를 구축하는 대로 재정의 속성:

<PropertyGroup>
  <MYBINDIR>d:\buildsysroot\bin</MYBINDIR>
  <MYLIBDIR>d:\buildsysroot\lib</MYLIBDIR>
  ...
</PrpertyGroup>

<ItemGroup>
  <MyItems Include="d:\buildsysroot\myproject\myproject.vcproj"/>
</ItemGroup>

<Target Name="Release_x64">
  <VCBuild Projects="@(MyItems)" Configuration="Release_dll|x64"/>
</Target>

이러한 환경 변수를 사용하여 모든 vcproj 파일을 통해,재산 매입니다.여기에 발췌 vcproj:

<Configuration
  Name="Release_dll|x64"
  ConfigurationType="1"
  InheritedPropertySheets="$(BUILDPROPSDIR)\defaults.vsprops;$(BUILDPROPSDIR)\build_dll.vsprops"
>

이것은 어떻게 시 장을 보면:

<VisualStudioPropertySheet
  Name="defaults"
  OutputDirectory="$(MYBINDIR)\_$(ConfigurationName)_$(PlatformName)"
  IntermediateDirectory="$(MYBUILDDIR)_$(ProjectName)_$(ConfigurationName)_$(PlatformName)"
  >
  <Tool
    Name="VCLinkerTool"
    AdditionalLibraryDirectories="&quot;$(MYLIBDIR)&quot;"
  />
<VisualStudioPropertySheet/>

문제입니다:빌드 할 때,가치에 대한 환경 변수를 선언에 msbuild 파일(MYBINDIR,MYLIBDIR)지 않으로 그것을 만들 재산 시트,하지만 보이 될 지역을 msbuild 파일만:내 msbuild 프로젝트 MYBINDIR 확장하"d:\buildsysroot\bin"하지만 내 vc 프로젝트 MYBINDIR 확장하"d:\projects\bin"값이 설정한 전 세계적으로(예를 들어를 통해 내 컴퓨터->Advanced->EnvironmentVariables) 어야 하는 편이기 때문에 그것은 방법은 나의 주요한 개발 환경을 설정합니다.

어떻게 통과하는 환경 설정에서 msbuild 파일을 VCBuild 작업?

저는 이 문제를 해결할 수 있을 사용하여 배치 파일을 선언하는 환경이 있을 사용하여'설정',그리고 msbuild 파일그게 내가 사용하는것,그러나 나아보세요 위의 방법으로 그것은 단지 하나의 전화를 msbuild 으로 인수 한 그리고 그것.

편집

저는 솔루션이 필요했고 빠르게 내놓았 사용자 지정 작업을 설정하는 환경에서 같은 방법으로 배치 파일을 할 것입니다,하지만 보너스의 일 이내에 그것 msbuild..는 작업의 실행()메소드는 단순히 환경이다.SetEnvironmentVariable(var val).이것은 여전히 설정이 필요한 프로세스의 환경에,내가 듣고 기뻐하는 경우 다른 방법이 있다!

도움이 되었습니까?

해결책

때문에 아무도 대답했/댓글을 나와 나의 자신의 대답:사용자 지정 작업을 설정하는 프로세스의 환경에 사용하는 환경입니다.SetEnvironmentVariable(var val)

다른 팁

내가 알지 못하는 경우 이것은 당신이 무엇을 행하려고 노력하는 것입니다.하지만 당신이 시도하고"재정의"속성에 VCBuild 작업?그것은 눈부시게 분명하는 방법을 사용합니다.하지만 나는 대을 만듭니다.vsprops 한 특성을 나는 걱정(OutputDirectory 및 IntermediateDirectory).그때 편집니다.vcproj 파일을 제거하 InheritedPropertySheets 특성는 추가됩니다.그때 나는 추가 재정의 특성을 VCBuild 작업에서 나 MSBuild 파일입니다.는 것을 내게 주는 행동을 찾고 있었습니다.수도 있는 다른 문제지만...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top