programing

외부 DLL 파일을 저장할 위치

iphone6s 2023. 4. 12. 21:54
반응형

외부 DLL 파일을 저장할 위치

프로젝트에서는 서드파티 라이브러리를 사용하고 있습니다.Visual Studio의 참조 폴더를 사용하여 포함시킵니다.

하지만 DLL 파일은 어디에 저장해야 합니까?파일 시스템의 경로에서 참조되지만 프로젝트에 포함시킬 수 있으면 좋겠습니다.하지만 어떻게요?

제가 하는 일은 이렇습니다.

  • 솔루션 수준에서 lib 폴더 생성
  • 모든 서드파티제의 DLL 파일을 다운로드하여 복사하다
  • lib 폴더에서 참조
  • 모든 DLL 파일을 소스 컨트롤에 넣습니다.Subversion을 사용하고 있으며 수동으로 추가하지만 일회성입니다.

솔루션 폴더를 추가하고 여기에 추가할 수도 있습니다.


업데이트 2012-12-19

위의 답변은 NuGet이 유아기에 있을 때였습니다.FWIW, NuGet 아이템을 가지고 있는 나의 접근법:

  1. 일반 DLL 파일 종속성(NuGet pkg이 없는 경우)에 대해 위와 같이 수행합니다.
  2. 솔루션의 「패키지 복원」을 유효하게 합니다.
  3. packages.config need the to ( )
  4. 패키지 자체를 버전 관리 시스템에 저장하지 마십시오(Git, Mercurial 등에 대해 ignore 설정).

실제로 NuGet을 사용하여 내부 종속성을 관리하고 개인 피드를 제공합니다.

일반적으로 프로젝트의 구조는 다음과 같습니다(적어도).

projectname
   - trunk
       - src
       - lib
   - support
       - docs
   - releases

trunk폴더에는 현재 작업 중인 원본의 복사본이 포함되어 있습니다.또한 내 프로젝트에서 참조하는 모든 서드파티 어셈블리가 들어 있는 디렉토리 'lib'도 있습니다.
(어느쪽이든)

'릴리스' 폴더에는 트렁크의 분기가 포함되어 있습니다.예를 들어 v1이 출시되면 소스 코드와 애플리케이션 버전1을 구축하는 데 필요한 모든 종속성의 복사본을 얻을 수 있도록 트렁크의 브랜치가 취득됩니다.(이것은 버그 수정에 편리합니다.그 브랜치의 버그를 수정하고, 그 수정을 트렁크에 Marge하고, 그 브랜치를 재구축하면, 애플리케이션의 v1이 수정됩니다).

이 모든 것들이 소스 제어에 들어갑니다.(예, 참조된 어셈블리도 마찬가지입니다).이렇게 함으로써 다른 동료도 프로젝트에 임해야 하는 것이 매우 쉬워집니다.소스 제어에서 최신 버전을 가져오면 컴파일 및 구축이 가능한 모든 것을 갖추고 있습니다.

(CruiseControl과 같은 기능을 사용하여 지속적인 통합을 수행하는 경우에도 마찬가지입니다.)

Visual Studio의 dll에 대한 참조 속성 창에 '로컬 복사'라는 속성이 있습니다. 이 속성을 true로 설정하면 로컬 프로젝트의 bin 디렉터리에 복사됩니다.

NuGet (Visual Studio 패키지 매니저)를 봐주세요...

NuGet은 Visual Studio에서 오픈 소스 라이브러리와 도구를 쉽게 설치하고 업데이트할 수 있는 Visual Studio 확장 기능입니다.

다음 NuGet 문서를 읽고 créme de la créme을 입수하십시오.

소스 제어에 패키지를 커밋하지 않고 NuGet 사용

NuGet을 보세요.Visual Studio 2010을 위한 패키지 관리 확장 기능으로 원하는 대로 설계되었습니다.

트리 외과의 - 의 개발 트리를 만듭니다.NET 프로젝트는 좋은 출발점이 될 수 있으며, 거기서부터 즉흥적으로 할 수 있습니다.

개인적으로는 서드파티 DLL의 소스 컨트롤에 폴더(각 회사, 조직용 폴더 포함)가 있으며 거기서 참조합니다.

이러한 파일은 소스를 다운로드하는 모든 개발자가 사용할 수 있으며 쉽게 업데이트할 수 있습니다.

이 문제에 올바르게 답하려면 환경작업 세트를 구분해야 합니다.

환경:

  • 솔루션 구축에 필요한 툴과 라이브러리입니다.
  • 환경 내의 사물은 합리적으로 일정하게 유지될 것으로 예상된다.
  • 일반적으로 환경 내의 것은 버전화되어 있기 때문에 여러 버전을 동시에 사용할 수 있습니다.
  • 환경 내의 물건들은 보통 라이선스가 부여됩니다.
  • 환경은 소스 제어가 되지 않습니다.
  • 좋은 예로 Visual Studio를 들 수 있습니다.

작업 세트:

  • 이것은 기본적으로 당신의 소스 코드입니다.
  • 이것이 최종 실행 파일에 도달하기 위한 모든 요건입니다.
  • 개발 중에 작업 세트가 많이 바뀔 것이라고 예상하셨을 겁니다.
  • 작업 세트는 소스 제어 하에 있어야 합니다.

구성 요소가 어떤 범주에 적합한지 결정해야 합니다.

언급URL : https://stackoverflow.com/questions/4277515/where-to-store-external-dll-files

반응형