2013-11-03 5 views
1

Nuget은 소스 제어 및 배포와 관련된 모든 문제에 가치가 없다는 결론에 도달했습니다. 그럼 어떻게 없앨까요? 참조 된 dll을 bin 폴더에 넣고 정상적으로 설정을 변경하는 오래된 경로로 가고 싶습니다.Nuget을 없애는 방법

+0

'제거 하시겠습니까?' 그냥 사용하지 마십시오. –

+0

이러한 유형의 문제에 대한 심층적 인 조사를 위해 전문 개발 조직에서 NuGet을 사용하는 것과 관련된 문제점에 대해 이야기하는 동료 중 한 명이 게시 한 기사를 살펴 보는 것이 좋습니다. https : // www .simple-talk.com/dotnet/.net-framework/take-nuget-to-the-enterprise/ –

답변

1

NuGet이 내 솔루션 수준에서 만드는 패키지 폴더는 필요한 솔루션을 프로젝트에서 사용하기 위해 필요한 종속성을 단일 폴더에 대조한다는 점에서 어느 정도까지는 비슷한 문제가 있습니다. 그러나 각 솔루션과 함께 EntityFramework.dll 폴더를 저장하지 않으려는 개발자가 솔루션 코드를 소스 제어에 넣으려고 할 때 문제가됩니다. 특히 모든 Gumph와 함께 제공해야합니다. (덧붙여 말하자면 .Dll은 소스 제어에 최선을 다해야한다고 개인적으로 생각하지 않습니다.)

그러나 Visual Studio에 얼마나 많이 포함되어 있는지 확실하지 않습니다. 이제는 시도해 볼 수있는 변경 사항이 있습니다.

Visual Studio 내에서 도구> 옵션> 패키지 관리자> 패키지 소스로 이동하십시오. 'NuGet 공식 패키지 소스'를 사용할 수있는 상자의 선택을 취소하십시오. 이것은 이론 상 NuGet API를 IDE에서 사용할 수 없게해야합니다.

희망이 도움이됩니다.

+0

이것이 옵션입니다. Nuget의 모든 문제를 해결할 수있는 좋은 링크가 있습니까? 나는 기본적인 것들을 사용하려고 애썼고, 그것은 괴상한 악몽이었습니다. OAuth는 면도기의 버전 2.0을 사용하지만 최신 mvc는 3.0을 사용합니다. 나는 지금이 문제가있는 유일한 사람이라고 믿을 수 없다. – DanScan

+0

NuGet을 사용하지 않고 의존성을 관리하는 방법은 여러 가지가 있습니다. 이는 상대방에 비해 상대적으로 늦습니다. Windows 플랫폼에 이식 된 Maven의 도구를 사용하여 '아이비'시스템을 개발했습니다. 이를 사용하려면 제조업체, 파일 이름, 버전 번호 및 파일 형식에 따라 특정 폴더 구조에 종속성을 적용해야합니다. 이것은 모든 항문 소리 수도 있지만 모든 .dll의 버전이 소스 제어에 대한 종속성이 없기 때문에 모든 프로젝트에 포함되어있는 버전을 정확히 제어 할 수 있습니다. –

1

우리 팀은 우리의 적극적인 프로젝트와는 별도로 NuGet을 사용하여 검색하고 (그것을 좋아합니다), 제어 및 미니멀리즘을 달성하기 위해 다른 방법을 통해 참조를 관리하기로 결정했습니다. 우리가 그 프로젝트에서 NuGet을 제거하는 방법이다 :

  • 첫째, (선택적으로 또는 끝이 시점에서 NuGet없이 참조를 다시 추가) 같은 폴더에
  • 프로젝트에서 NuGet 패키지를 설치 제거 솔루션 파일 (.sln)에는 .nuget 폴더가있을 수 있습니다.이 폴더에는 NuGet에 의존하는 다른 솔루션이없는 경우 삭제해야합니다.
  • 각 프로젝트 폴더에서 packages.config 파일을 삭제하십시오. 이것이 소스 제어에 체크인되지 않은 경우 모든 개발자는 영향을받는 모든 지점의 모든 프로젝트에서 packages.config를 삭제해야합니다.

    < SolutionDir 조건 = "$ (SolutionDir) == ''또는 $ (SolutionDir) == : 각 프로젝트 파일 (.csproj)에서

  • 삭제해야 PropertyGroup 섹션에 두 줄이 있습니다 ' 정의되지 않은' "> ... </SolutionDir > <RestorePackages> 사실 </RestorePackages >

  • 각 프로젝트 파일의 맨 아래에있는 섹션도있다가 (여러 개의 봤어요

    < 프로젝트 가져 오기 = "$ (SolutionDir) .nuget \ nuget.targets"조건 = "Exists ('$ (SolutionDir) .nuget \ NuGet.targets')이 위치에있는 성육신은 여기에 있습니다. "/ >

당신은 당신의 팀이를 조정해야합니다. 누구나 디렉토리에 packages.config 파일이있는 프로젝트가 포함 된 솔루션을 열면 NuGet은 위에서 수동 편집을 취소합니다. 특히 자동 검사 기능이 켜져 있다면

관련 문제