2014-11-25 7 views
1

.runsettings 파일을 사용하여 코드 적용 결과를 생성하는 어셈블리를 관리하고 있습니다. 너무 많은 어셈블리를 제외하고 Visual Studio .runsettings

<!-- Match assembly file paths: --> 
<ModulePaths> 
    <Include /> 
    <Exclude /> 
</ModulePaths> 

그래서 나는 모든 MyCompany 명명 된 내 테스트 프로젝트를 제외하도록 수정 : 내 테스트 프로젝트를 포함한 모든 어셈블리 원하지 않는 TFSBuildExtensions 어셈블리를 얻을 내 .runsettings 파일에서 다음 섹션으로

. MyProject1.Tests.dll

<!-- Match assembly file paths: --> 
<ModulePaths> 
    <Include /> 
    <Exclude> 
    <ModulePath>.*Tests.*</ModulePath> 
    </Exclude> 
</ModulePaths> 

그러나 지금 모든 내 어셈블리는 제외하고 나는 TFSBuildExtensions으로 만 남아있어 semblies.

다음 어셈블리를 제외하려면 제외 섹션에서 지정해야하는 것은 무엇입니까? MyCompany.MyProject1.Tests.dll

    • ...
    • MyCompany.AnyProjectName.Tests.dll
    • TFSBuildExtensions.XXX.dll는
  • +0

    당신이 시도 할 수. '^ (. TFSBuildExtensions \ .. * \ DLL을) | * 테스트 \ .DLL $' –

    +0

    OK , 그래서이 시도했지만 지금은 TFSBuildExtensions 것들은 여전히 ​​있습니다. 예 : tfsbuildextensions.activities.dll. 또한 기본 MS 템플릿에 따라 노드를 별도로 사용해야합니까? – openshac

    +0

    Regexp는 다르게 지정하지 않는 한 대소 문자를 구분합니다. 당신은 다음과 같은 위의 식을 다시 작성해야 tfsbuildextensions.activities.dll 제외하려면 :. ^ (. tfsbuildextensions \ .. * \ DLL) |을 * 시험은 \ .DLL $ 또한 다른 ModulePath이 좋은 것 같다 사용 아이디어는 나에게 : 그것은 당신이 테 코드를 명확하게 유지하는 데 도움이 될 것입니다. –

    답변

    1

    그래요. 문제가 여기에있는 것을 발견했습니다. https://stackoverflow.com/a/15961727/283787

    정규식 은 모듈 이름뿐만 아니라 경로를 찾고 있으므로 모듈 앞에서. *를 사용하여 무시해야합니다. 즉, 주어진 파일 경로에서 무시해야합니다. 내가 다음에 변경할 때

    그래서 괜찮 았는데 :

    <ModulePaths> 
        <Exclude> 
        <ModulePath>.*tests\.dll$</ModulePath> 
        <ModulePath>.*tfsbuildextensions\..*\.dll$</ModulePath> 
        </Exclude> 
    </ModulePaths> 
    
    0

    이것은 당신이 원하는 일을해야한다 :

    <!-- Match assembly file paths: --> 
    <ModulePaths> 
        <Include /> 
        <Exclude> 
        <ModulePath>^.*Tests\.dll$</ModulePath> 
        <ModulePath>^tfsbuildextensions\..*\.dll$</ModulePath> 
        </Exclude> 
    </ModulePaths> 
    
    +0

    나는 이것을 시도했지만 여전히 결과에 10 개의 tfsbuildextension.xxx.dll 어셈블리가 있습니다. – openshac