2013-07-20 4 views
2

매크로를 작성하려고합니다. 모든 프로젝트를 반복하고 다른 모든 구성을 제거하려면 Active Solution Configuration - DebugActive Solution Platform - x86이 필요합니다. 또한 모든 프로젝트의 구성을 편집 한 후에 모든 프로젝트에 pre-buildpost-build 이벤트를 설정하려고합니다. 나는 어디서부터 시작해야하는지 모른다. 도와주세요. 나는 해결책으로 44 개의 프로젝트를 갖고 있으며,이 모든 것을 수동으로 설정하는 데 정말로 힘들고 시간이 많이 걸린다.Visual Studio 매크로/모든 프로젝트를 반복하고 프로젝트 속성을 설정하려면

사전 빌드 이벤트 :

rd /s /q "$(ProjectDir)bin" 

포스트 빌드 이벤트 :

copy "$(TargetPath)" "$(SolutionDir)TOTALOUTPUT\" /y 
+0

[CruiseControl] (http://www.cruisecontrolnet.org/)과 같은 지속적인 통합 제품군을 살펴볼 수 있습니다. 빌드 할 프로젝트를 정의 할 때 배치 파일이나 배치 파일 이전 또는 이후에 실행할 작업을 정의 할 수도 있습니다. PowerShell 스크립트. –

+1

이 매크로가 있어야합니까 또는 문제를 해결하기 위해 매크로를 포함하지 않는 대체 솔루션을 제공 할 수 있습니까? 나는이 문제가 다른 해결책에 의지 할 수 있다고 생각한다. 그래서 매크로가 필요 없다면 나는 이것을 해결할 수있다. 필요하다면 질문에 대한 이유를 설명하기 위해 다시 말해야합니다. IWidget :: SetColor (http://blogs.msdn.com/b/oldnewthing/archive/2013/02/06/10391383.aspx)의 사례가 아니기를 바랍니다. – user314104

+0

당신이이 질문을 한 지 9 일이 지났습니다. 오래전에 그것을 끝낼 수있었습니다. Send-me-the-code 질문은 여기서는별로 도움이되지 않습니다. –

답변

5
나는 명확하게 점을 이해하지만, 나를 도우려고하지 수

...

당신은, 활성 솔루션 구성이, clickint으로 Build-하여 새 구성을 만들 수 있습니다 당신이) 새로운 옵션이 표시 이름을 것입니다 그것을 클릭하고 컴파일 싶은 프로젝트를 확인

그리고 단순히 Ctrl 키와 함께 프로젝트를 선택, 솔루션을 이동 한 후 leftclick-> 속성 은 VS는 여러 속성을 변경할 수 있습니다 프로젝트, 그래서 당신은 쉽게 포스트 빌드를 작성하고 그와 같은 이벤트를 미리 빌드 할 수 있으며, 선택한 모든 프로젝트에서 작동합니다.

1

당신은 그러나 실제로 직접 이동하는 것이 좋습니다 것, 매크로에 넣고, 여부를 선택할 수 있습니다 .csproj 및 .sln 파일.

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> 
    <PlatformTarget>x86</PlatformTarget> 
    <DebugSymbols>true</DebugSymbols> 
    <DebugType>full</DebugType> 
    <Optimize>false</Optimize> 
    <OutputPath>bin\Debug\</OutputPath> 
    <DefineConstants>DEBUG;TRACE</DefineConstants> 
    <ErrorReport>prompt</ErrorReport> 
    <WarningLevel>4</WarningLevel> 
    </PropertyGroup> 

당신이 문제의 모든 .csproj 파일을 통과 등 간단한 스크립트/프로그램/작성하고있는 경우를 읽을 다음 .csproj 파일에서 그들은과 같이 빌드 구성을 지정 속성 그룹의 시리즈를 가지고 .csproj xml 파일. 이 과정을 거치면서 구성을 정의하는 PropertyGroups가 두 개만 표시되는지 간단히 확인할 수 있습니다. 이 두 가지 구성은 디버그/릴리스 구성입니다.

<PropertyGroup> 
    <PostBuildEvent>xcopy $(TargetName).* "%25SEARCH1%25"\bin\ /i /y</PostBuildEvent> 
    </PropertyGroup> 

참고 : 또한, 당신이 당신의 사전을 추가 할 수 있습니다 같은 스크립트에서/이후 그들이 등과 같이 단순히 속성 그룹의 다른 유형, 이벤트를 구축 스크립트 때와 같이이 작업을 수행 할 가능성이 더 낫다 Visual Studio는 매크로가 아닌 닫혀 있지만 매크로로 단순히 래핑하면 작동하지 않는 이유가 없습니다. 구성 관리자 -> 새로운 (맨 왼쪽>