2013-03-19 1 views
1

저는 TFS 2010을 사용 중이며 TFS 빌드 설정을 통해 소프트웨어를 빌드하고 있습니다. 모든 것이 잘 작동합니다.TFS 빌드에서 하나의 솔루션에 대한 경고를 표시하지 않도록 설정하는 방법

, 우리는 다음과 같은 경고 점점 : 우리의 코드의 일부는 86로 표시되어 있기 때문입니다

CSC: Assembly generation -- Referenced assembly 'mscorlib.dll' targets a different processor 

을하고는 64 플랫폼을 기반으로하고있다. 우리가 링크하는 타사 소프트웨어 때문에 대상 플랫폼을 변경할 수 없습니다. 또한 2.0 프레임 워크를 대상으로하고 있으며이 프레임 워크는 현재로서는 변경할 수 없습니다.

그래서이 오류를 단순히 억제하고 싶습니다. 똑바로 보인다. 간단히 Build 템플릿을 편집하고/p : NoWarn = 1607을 추가했습니다. 그거야.

BUT!

우리는 C# 대신 VB.net으로 작성된 하나의 솔루션이 있습니다. 이로 인해 하나의 솔루션이 다음 오류로 실패합니다.

vbc: warning number '1607' for the option nowarn is either not configurable or not valid 

TFS 빌드의 한 솔루션에서이 경고를 표시하지 않도록 설정하려면 어떻게합니까? TFSBuild.proj 파일에 <customPropertiesForBuild> 태그를 사용하려고했지만 올바르게 사용하지 않았을 수 있습니다.

저는 이것을 단순히 프로젝트 파일에 추가 할 수 있지만, 여러 개의 프로젝트 파일이있는 37 개의 솔루션이 있으므로 실제로 그렇게하고 싶지는 않습니다.

+0

TFSBuild.proj 파일에 솔루션 (VB 솔루션 포함)을 ** SolutionToBuild ** 항목으로 나열 하시겠습니까? 아니면 기본 빌드 프로세스 템플릿을 사용하고 솔루션을 빌드 정의에 나열하고 있습니까? – Michael

+0

SolutionToBuild 항목으로 나열됩니다. – Curtis

+2

VB 솔루션의 ** SolutionToBuild ** 항목에서 ** Properties ** 메타 데이터를 사용할 수 있어야합니다. 예를 들어 내 대답을 참조하십시오. – Michael

답변

2

당신은 VB 솔루션의 속성 메타 데이터를 사용할 수 있어야는에 NoWarn을 설정하는 항목을 SolutionToBuild 해당 솔루션에 대한 빈 값 :

<SolutionToBuild Include="$(BuildProjectFolderPath)/../../MyVbSolution.sln"> 
    <Targets></Targets> 
    <Properties>NoWarn=;</Properties> 
</SolutionToBuild> 

VB 솔루션이 오류없이 컴파일되는지 확인하십시오.

+0

예! 이것은 내가 찾고 있었던 바로 그 것이다. 감사. – Curtis

0

TFS 빌드에서 MSbuild에 NoWarn 속성을 제공 할 수 있습니다. 한 가지 아이디어는 "프로세스"탭에서 빌드 정의를 편집하고 고급 => MSBuild 인수를 탐색 한 다음 qoutes없이 "/ p : NoWarn = 1607"을 제공하는 것입니다. 빌드를 대기열에 추가하려면 매개 변수 탭 => 고급 => MSBuild 인수에/p : NoWarn = 1607을 입력하십시오.

+0

이렇게하면 실제로 오류가 표시되지 않습니다. 문제는이 작업을 수행하면 VB 솔루션이 실패 할 수 있다는 것입니다. – Curtis

1

MSBild가 빌드 중에 불평하고 TFS가 단순히 MSBuild를 호출하고 결과를 수집하기 때문에 TFS에서 해당 억제를 제어 할 수 있다고 생각하지 않습니다.

msbuild에게 이러한 종류의 경고를 무시하도록하는 특정 속성이 있습니다. 단순히 경고를 생성하는 프로젝트에 대한 프로젝트 파일에 최상위 Propertygroup에 다음 줄을 추가합니다 :

<PropertyGroup> 
    ... 
    <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch> 
</PropertyGroup> 
+0

이 파일을 TFSBuild.proj 파일에 저장하려고 시도했지만 경고를 표시하지 않았습니다.어쩌면 당신이 오류를 생성하는 이들의 프로젝트 파일에 넣어 의미? 나는 다음에 그것을 시도 할 것이다. – Curtis

+0

예. 업데이트해야하는 .csproj 파일입니다. –

관련 문제