2010-02-11 2 views
6

C#과 VB.Net의 모든 리팩토링 도구는 단일 비주얼 스튜디오 솔루션에서 소스 코드만을 고려한 것으로 보았습니다.솔루션 파일 전체에서 작동하는 리팩토링 도구가 있습니까?

는 더 낫거나 더 나쁜을 위해, 우리의 (많은 관련 프로그램) 시스템은 그러나, 많은 솔루션 파일을 통해 확산된다

  • 모든 코드는 하나의 윈도우 폴더 아래에 있습니다.
  • 우리의 nAnt 기반 빌드 시스템은 windows 폴더에 모든 파일을 빌드하여 하나의 dll을 생성합니다 (이 질문에는 더 복잡하지만 조금 더 복잡합니다).
  • 따라서 단일 루트 폴더 아래의 모든 ".cs"및 ".vb"파일은 시스템의 일부입니다.

그래서 하나의 폴더를 입력으로 사용하고 해당 폴더 아래의 모든 파일에 대해 작동하는 리팩토링 및 리버스 엔지니어링 도구를 찾고 있습니다.

(도구는 "공용"과 "내부"의 의미를 결정하는 데 도움이 필요할 수 있지만 "코드 트리"가 포함 된 폴더 인 경우 대부분 "내부"는 "동일한 코드 트리에서"를 의미합니다. 코드와 하위 폴더입니다.)


가 지금은 욕심입니다, 나는 해본 적이과 리팩토링을 재생 할 수있는 모든 리팩토링을 많이 만들 수있는 도구를하고 싶습니다. 그렇다면 이상적으로 시도해 볼 수 있습니다. 작동하는 경우 내 코드를 버리고 최신 코드를 얻은 다음 다른 사람이 파일을 변경하기 전에 리팩터링을 수행하고 코드를 체크인하십시오. (분기가 병합이 필요한 경우에도 마찬가지 임)

+4

클라이언트와 몇 가지 WCF 서비스 솔루션간에 공유되는 일부 프로젝트와 비슷한 상황이 있습니다. 하나의 아이디어는 resharper를 사용하여 리팩토링하기 위해 마스터 .sln 파일을 만드는 것입니다. – softveda

답변

3

이전에는 Pratik이 제안한 모든 작업을 수행하여 모든 프로젝트를 리팩토링 목적으로 단일 솔루션으로 끌어 들였습니다. 개인적으로는 매번 Resharper을 사용할 것입니다.

+0

대부분의 dll은 "s 드라이브"에서 프로젝트 참조로 참조되는 것을 감안할 때 모든 프로젝트를 직접 참조하지 않고이 작업을 수행합니까? (프로젝트가 "드라이브"에 출력되지 않는 경우조차도 마지막 공식 빌드에서 dll을 복사하려고합니다. 즉 개미와 함께 완료되며 "스토리"가 완성 될 때만 수행됩니다!) –

+0

Resharper는 VB.NET과 C# 코드에서 리팩토링으로 코드를 작성하므로 클래스가 하나의 "세계"에 정의 된 다음 다른 클래스에서 사용되는 것이 일반적입니다. –

+0

답장을 보내 드려 죄송합니다. 아마 지금껏이 내용을 발견했을 것입니다. 그렇습니다. 그렇습니다. Resharper에는 VB.net과 C# –