2012-03-29 4 views
4

비슷한 질문을했지만 솔루션과 프로젝트의 차이점을 찾을 수있었습니다. 내 수준은 같지만 약간 다르다.Visual Studio 솔루션 및 프로젝트

저는 C#에 기반한 이전 Java 개발자이며 소스 제어, 프로젝트 표준 등을 설정하는 유일한 개인이며 Visual Studio (2010 Pro 사용)와의 첫 번째 작업입니다.

솔루션은 관련 프로젝트의 "컨테이너"라는 것을 알고 있지만 관련이 있지만 다른 유형의 솔루션에 프로젝트를 추가하는 것이 가장 좋습니다.

예를 들어 웹 응용 프로그램이 데스크톱 응용 프로그램 또는 모바일 응용 프로그램과 동일한 솔루션에 위치합니까 (기능상 거의 동일). 그들은 기본적으로 동일한 응용 프로그램이지만 다른 형식입니다. 그들은 같은 클래스를 사용할 수 있습니다 (인위적인 예제의 경우 Person 클래스).

나에게는 분명히 관련이있는 것처럼 보이지만 다른 응용 프로그램이므로 다른 솔루션을 사용해야하는 것 같습니다.

의견을 보내 주시면 감사하겠습니다.

미리 감사드립니다.

+0

빠른 응답을 보내 주셔서 감사합니다. 합의를 이끌어내는 것이 같은 해결책에있는 것으로 보인다. 여러 솔루션에 분산시키는 것보다이 방법을 더 쉽고 효율적으로 보았지만 모범 사례에 반대하고 싶지 않았습니다. 나는 "규칙"이 없다는 것을 알고 있지만 가능한 한 주류에 가까이 머물려 노력합니다. – dekron

+0

주류에 오신 것을 환영합니다 ;-) –

답변

1

이러한 응용 프로그램은 기능, 공통 프로젝트 등을 공유하는 경우 하나의 솔루션에 있어야합니다. "Common", "Web", "Mobile"과 같은 솔루션 폴더를 사용하여 솔루션 내에서 프로젝트를 그룹화하는 것이 좋습니다. "설정"등. 당신은 솔루션 내에서 논리 그룹을 가질 수 있습니다.

1

공통 솔루션을 하나의 프로젝트로 쉽게 만들 수 있으므로 동일한 솔루션에 배치 할 예정입니다.

1

이에 대한 규칙이 없으므로 옳고 그른 대답은 없습니다. 모든 것이 코드 구성 방법에 달려 있습니다. 우리는 일반적으로 기능적으로 묶여 있고 코드를 공유하므로 프로젝트 유형이 실제로 중요하지 않기 때문에 동일한 솔루션에 웹 앱과 콘솔 앱이 있습니다.

0

나는 그것들을 같은 해결책에 넣을 것이다. 서로 다른 구성을 만들어 각 응용 프로그램을 작성하거나 동시에 두 응용 프로그램을 빌드 할 수 있습니다. 이렇게하면 클래스를 변경하고 클래스에 대한 변경 사항이 두 응용 프로그램에서 모두 작동하는지 확인할 수 있습니다.

또한 응용 프로그램간에 기능이 복제되기 시작하면 두 응용 프로그램 모두에 적용 할 수있는 새 클래스와 프로젝트를 만드는 것이 더 쉽습니다.

0

모든 것을 하나의 솔루션으로 구현할 수 있습니다. 라이브러리와 응용 프로그램 코드를 함께 디버깅해야하는 경우에 편리하지만 솔루션에 많은 프로젝트가있는 경우 다루기 힘들 수 있습니다.

하나의 접근법은 솔루션을 '하나의 단위로 설치 될 것'으로 처리하는 것입니다. 그런 다음 공통 라이브러리가 하나의 솔루션으로, 그리고 모바일 및 데스크톱 응용 프로그램이 각각의 솔루션에 포함됩니다. 이것은 솔루션을 더 작게 유지하지만 모든 것을 함께 개발할 때 불편할 수 있습니다. 따라서 라이브러리가 매우 안정적 일 때 가장 잘 작동합니다.

관련 문제