대부분의 상점과 마찬가지로 다양한 프로젝트에 종사하는 사람들로 구성된 팀이있어 우리의 비즈니스와 관련된 핵심 정보와 기능을 모두 C#으로 액세스해야합니다. 우리는 현재 프로젝트에서 프로젝트로 공통된 클래스를 복사하고 있지만, 모든 사람들이 자신 만의 맛을 내기 시작하고 통합하려고합니다.여러 응용 프로그램에서 공유 라이브러리를 사용하는 가장 좋은 방법은 무엇입니까?
우리는 Tortoise SVN을 사용하고 공통 클래스를 포함하는 별도의 프로젝트를 유지하기로 결정했지만이 공통 코드를 다양한 응용 프로그램에 배포하는 최선의 방법은 확실하지 않습니다. 우리는 사용자가 응용 프로그램에 액세스하는 방법에 대한 모든 것을 지시 할 수있는 내부 IT 상점을 위해 일하므로 우리 제품을 실제 세계에 출시하는 것에 대해 걱정할 필요가 없습니다.
우리의 생각의 일부
이되었습니다- 이 하나의 DLL로 클래스를 컴파일하고에 저장 한 DLL에 클래스를 컴파일하고 전역 어셈블리 캐시 (GAC)
- 에로드 중앙에 위치한 공유 드라이브가 다른 모든 프로젝트에서 참조하도록 설정
- 클래스를 단일 DLL로 컴파일하여 각 프로젝트에 포함
- 프로젝트를 시작할 때 가장 최근 클래스를 가져 오지만 중앙 공유 라이브러리는 없습니다. (이것에 대한 우리의 해석 : http://www.yosefk.com/blog/redundancy-vs-dependencies-which-is-worse.html)
- SVN 외부 참조 http://svnbook.red-bean.com/en/1.0/ch07s03.html
나는 이것이 일반적인 문제입니다 알고, 당신이 또는 다른 옵션으로보고 어떤 시간을 보내고 있다면, 당신은 변함없이 각 방법의 함정 (버전을 설명하는 사람을 찾아 회귀 테스트 , "DLL Hell", "The GAC sucks"등). 나는 어떤 사람이 무슨 일을하고 왜 그 일을하는지를 거의 알지 못한다. 선호되는 방법이 있습니까?
'공용 클래스를 복사'한다는 것은 문자 그대로 프로젝트에서 새로운 .cs 파일을 만들고 원하는 클래스의 데이터를 새로운 .cs 파일에 복사하여 붙여 넣는 것을 의미합니까? – docmanhattan
@docmanhattan 나는 .cs 파일을 직접 복사하여 새 프로젝트에 추가 함을 의미합니다. – kscott