정의 된 모든 속성 (예약되지 않은 속성)을 인쇄하는 사용자 지정 작업을 작성해야합니다. 그래서 내 C# 코드에서 MSBuild 엔진의 속성 목록에 액세스하려는 및 어떻게 모르겠다. 도와주세요. .NET 4를 사용사용자 지정 작업을 코딩 할 때 MSBuild의 속성 목록에 액세스하는 방법?
5
A
답변
3
는 :
using Microsoft.Build.Evaluation;
using Microsoft.Build.Utilities;
namespace MSBuildTasks
{
public class GetAllProperties : Task
{
public override bool Execute()
{
Project project = new Project(BuildEngine.ProjectFileOfTaskNode);
foreach (ProjectProperty evaluatedProperty in project.AllEvaluatedProperties)
{
if (!evaluatedProperty.IsEnvironmentProperty &&
!evaluatedProperty.IsGlobalProperty &&
!evaluatedProperty.IsReservedProperty)
{
string name = evaluatedProperty.Name;
string value = evaluatedProperty.EvaluatedValue;
}
// Do your stuff
}
return true;
}
}
}
6
앞의 예는 파일을 프로젝트 잠 깁니다. 이로 인해 문제가 발생할 수 있습니다. 예를 들어, 동일한 프로젝트 파일에서 여러 번 작업을 호출하는 경우. 개선 된 코드는 다음과 같습니다.
using System.Xml;
using Microsoft.Build.Evaluation;
using Microsoft.Build.Utilities;
namespace MSBuildTasks
{
public class GetAllProperties : Task
{
public override bool Execute()
{
using (XmlReader projectFileReader = XmlReader.Create(BuildEngine.ProjectFileOfTaskNode))
{
Project project = new Project(projectFileReader);
foreach (ProjectProperty property in project.AllEvaluatedProperties)
{
if (property.IsEnvironmentProperty) continue;
if (property.IsGlobalProperty) continue;
if (property.IsReservedProperty) continue;
string propertyName = property.Name;
string propertyValue = property.EvaluatedValue;
// Do your stuff
}
return true;
}
}
}
}
관련 문제
- 1. 사용자 지정 작업을 만들 때 MSBuild 세부 정보에 액세스하는 방법?
- 2. 오류 사용자 지정 작업을 제거 할 때
- 3. NAnt에서 MSBuild의 XmlMassUpdate 작업을 하시겠습니까?
- 4. foreach-string 문자열 목록에 바인딩 할 때 문자열에 액세스하는 방법?
- 5. 사용자 지정 속성 목록 속성
- 6. ActionResult의 사용자 지정 속성
- 7. 사용자 지정 XAML 속성
- 8. TwoLineListItem - 사용자 지정 속성
- 9. Wix 사용자 지정 작업을 다시 사용하는 방법?
- 10. 속성 추가 대화 상자에서 TortoiseSVN의 속성 목록에 사용자 지정 속성을 추가 할 수 있습니까?
- 11. 사용자 지정 속성 추가
- 12. rails_admin에 사용자 지정 작업을 추가하는 방법
- 13. DialogPreference의 사용자 지정 속성
- 14. 속성이 사용자 지정 클래스 목록에 있는지 확인하십시오.
- 15. xsd-schema의 사용자 지정 속성
- 16. 캡슐화를위한 사용자 지정 속성
- 17. 어떻게 사용자 지정 msbuild 작업을 제대로 수행 할 수 있습니까?
- 18. EF4와의 UnitOfWork는 만드는 방법 사용자 지정 속성
- 19. MEF를 사용하여 MSBuild 사용자 지정 작업을 배포하는 방법?
- 20. QTP에서 동일한 작업을 수행 할 때 vbscript를 사용하여 작업을 직접 코딩 할 수 있습니까?
- 21. 사용자 교인의 사용자 지정 속성 가져 오기
- 22. 기존 사이트 열을 사용자 지정 목록에 추가하기
- 23. Zend_Auth_Adapter_Ldap을 사용하여 인증 할 때 사용자 데이터에 액세스하는 방법
- 24. ASP.Net 사용자 지정 사용자 속성/메서드
- 25. VBA를 사용하여 액세스 할 때 사용자 지정 속성을 만드는 방법
- 26. NHibernate.Linq - 사용자 지정/계산 된 속성 식
- 27. groovy : 속성 파일에 액세스하는 방법?
- 28. .NET WebService 사용자 지정 속성
- 29. C# 사용자 지정 속성 대안
- 30. PropertyGrid - 사용자 지정 속성 이름?