2016-07-27 3 views
1

다른 팀 구성원과 함께 큰 C# 프로젝트를 진행하고 있습니다. 지금까지 프로젝트는 일종의 혼란을 겪었고 모든 사람들은 개발을 위해 환경을 개선하기 위해 노력했습니다. 신입 회원 (및 향후 회원)을 위해 저는 개발 프로세스를 문서화하고 강화하려고 노력하고 있습니다. 프로젝트는 자식에 의해 버전 관리되며 멤버는 VS2012, VS2015 및 Monodevelop를 사용합니다.성공적인 Nuget 패키지 복원 후 프로젝트를 알지 못하는 프로젝트

C# 솔루션의 C# 프로젝트에는 모두 필요한 NuGet 패키지가 있습니다. . 나는에 함께 포함 된 프로젝트와 해결책을 가지고 할, 다른 한편으로 복제이 프로젝트는, packages.config 파일이 다음 하나의 시스템에서 밀어 그래서하는가이다

# NuGet Packages 
*.nupkg 
# Ignore the actual packages but not the config file for them 
**/packages/**/* 
!**/packages/repositories.config 
# don't ignore build/, which is used as an MSBuild target. 
!**/packages/build/ 

: 나는 다음 .gitignore 파일에 있습니다 필요한 패키지 및 버전 이름이 들어있는 xml 파일 내 문제는 내가 잘 근무 REPO를 복제 VS2015 커뮤니티 에디션과 함께 신선한 윈도우 7 시스템에서 시도

가 그 다음에

입니다. 그런 다음 NuGet 패키지를 복원하라는 메시지가 나타납니다. 내가 그거 했어. 가 설치되지 않는 것 같습니다 enter image description here 하지만 내 프로젝트의 내 참조에서 : enter image description here

분리하는 시도 나는 패키지와 버전이 관심있는 프로젝트에 대한 NuGet 패키지 관리자 뷰와 함께 설치되는 것을 볼 수 있습니다 더 작은 프로젝트의 문제

어쩌면 내가 이상하게 여겨서 솔루션을 닫고 하나의 작은 콘솔 어플리케이션 프로젝트로 새로운 작은 솔루션을 시작했다고 생각했습니다. 이 프로젝트에 이전 NUnit 버전을 추가하고 NuGet 패키지가 pakcages 디렉토리에 설치되었는지 확인했습니다. 그런 다음 솔루션을 닫고 패키지 디렉토리를 삭제했습니다. 솔루션을 열었을 때 패키지가 없다는 것을 알았으므로 패키지 메뉴에서 마우스 오른쪽 버튼을 클릭하여 패키지 작업을 복원하려고했습니다. 이것은 잘 작동했습니다.

그래서 나는 커다란 C# 프로젝트에서 다른 설정을해야한다고 생각합니다. 내 시스템에 다른 곳에 패키지를 설치하는지 모르겠습니다. 어떤 포인터를 보거나 볼 수있는 설정이 도움이되고 감사하게 될 것입니다!

는 (나는이 문제를 다른 보지 못한 경우, 패키지가 분명히 설치되어 있지만 프로젝트가 여전히 인식하지 못하는 경우)

업데이트 2016년 7월 28일 나는 nuget.config 한 번 봐 가지고 있었다 솔루션 신청을하고 거기에 선 있다는 것을 나타납니다

<add key="repositorypath" value="External\Packages" /> 

는 그럼 난 External Packages라는 이름의 내 솔루션 파일과 동일한 수준의 디렉토리를 발견했다. 원래이 솔루션과 그 프로젝트를 설정 한 사람은 더 이상 주변에 없다는 것을 알고 싶습니다. 그래서 그 디렉토리와 nuget.config 파일을 삭제했습니다. VS2015를 다시 시작하고 NuGet Packages 복원 작업을 실행했습니다. 이것은 패키지를 복원하는 것으로 나타나며 packages이라는 디렉토리를 저장합니다. 이것은 이제 내가이 동작을 재현하려는 작은 프로젝트에서 내가 본 것을 모방 한 것입니다.

하지만 여전히 NuGet Package Manager에 패키지가 설치되어 있지만 '참조'에 표시되지 않는 문제가 있습니다.

그래서이 패키지가 참조 용으로 저장되는 위치를 VS로 설정하는 방법이 있는지 궁금합니다.

+1

.NET 버전이 일치하지 않는 경우가 종종 있습니다. 그들이 모자를 쓰고 있다고 생각했는지 확인하기 란 쉽지 않습니다. –

+0

아하 .. 음. .NET 4.5 및 모노를 사용하여 크로스 플랫폼 작업을 유지합니다. 그렇다면 문제가 있다면 패키지 복원 프로세스에 어떤 영향을 줍니까? – Jesse

+0

질문을 편집하여 참조가 들어있는 .csproj 파일을 추가하십시오. –

답변

0

@RoberHarvey가 올바른 해결책을 가졌습니다. 문제는 내 솔루션의 프로젝트에 대한 .csproj 파일에있었습니다. 이는 패키지를 추적하는 좋은 방법이 없었던 코드 기반의 일부였으며 과거에는이를 해결하기위한 시도가 실패했습니다. 따라서 프로젝트 파일에 일관성이없는 부분이있었습니다. 이는 이전 nuget.config 파일을 삭제 한 후에 문제 패키지를 제거하고 다시 설치하여 해결했습니다.

관련 문제