2011-11-02 2 views
0

패키지 관리자 -> 패키지 소스 옵션으로 가서 NuGet 공식 패키지 소스를 제거하여 로컬 소스 만 사용할 수 있도록합니다. 그런 다음 Visual Studio 2010을 닫습니다. Visual Studio를 다시 열면 NuGet 공식 패키지 소스가 여전히 사용 가능한 패키지 소스의 맨 위에 있습니다. https://go.microsoft.com/fwlink/?LinkID=206669NuGet 공식 패키지 소스를 제거 할 수 없습니다

관련 suo 파일을 삭제하지 않고 내보내기 및 가져 오기 설정을 시도했습니다. 이것은 솔루션을 열지 않아도 발생합니다.

내가 발견 한 한 가지는 VS를 두 번째 열면 다음 설정 파일이 올바른 것입니다. C : 문서 및 설정 \ {MyUserName 에다} \ 응용 프로그램 데이터 \ NuGet \ NuGet.Config 마자 도구에서 패키지 관리자를 엽니로

-> 옵션, 공식 소스, 그래서 NuGet.Config에 추가됩니다

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <packageSources> 
    <add key="Local Package Source" 
     value="http://nuget:8081/DataServices/Packages.svc/" /> 
    </packageSources> 
    <activePackageSource> 
    <add key="All" value="(Aggregate source)" /> 
    </activePackageSource> 
</configuration 
은 옵션 대화 상자가 열릴 때

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <packageSources> 
    <!-- new line below --> 
    <add key="NuGet official package source" 
     value="https://go.microsoft.com/fwlink/?LinkID=206669" /> 
    <add key="Local Package Source" 
     value="http://nuget:8081/DataServices/Packages.svc/" /> 
    </packageSources> 
    <activePackageSource> 
    <add key="All" value="(Aggregate source)" /> 
    </activePackageSource> 
</configuration 

이 파일은 내가 옵션 트리 뷰에서 패키지 관리자를 클릭 바로 그 때, 변경되지 않습니다 ...로 변경됩니다.

어디에서이 설정을 가져 오며 계속 삽입하는 이유는 무엇입니까? 코드 플렉스에 같은 문제에 벤 Phegan에서 복사

업데이트

http://nuget.codeplex.com/workitem/1696

... "나는이 AddOfficialPackageSourceIfNeeded() 여기의 구현에 문제가있을 것 같아요" http://nuget.codeplex.com/SourceControl/changeset/view/2b36b2e1935a#src%2fVisualStudio%2fPackageSource%2fVSPackageSourceProvider.cs

답변

2

다른 피드가 없으면 기본 피드를 추가하는 NuGet vsix 자체에는 몇 가지 코드가 있지만 버그가 있음을 나타냅니다 :

if (officialFeed == null) 
    { 
     // There is no official feed currently registered 

     // Don't register our feed unless the list is empty (other than the aggregate). This is the first-run scenario. 
     // It also applies if user deletes all their feeds, in which case bringing back the official feed makes sense. 
     if (_packageSources.Count > 1) 
     { 
      return; 
     } 

    } 

다음은 첫 번째 소스로 공식 피드를 추가합니다. 다른 소스를 추가하여> 1 소스 (로컬 디렉토리가 작동해야 함)를 갖도록하십시오. 이 동작을 방지해야합니다.

Nuget.exe 명령은 비슷한 동작을하지만 사용할 수있는 원본에 관계없이 기본적으로 추가됩니다.

이 동작은 버전에 따라 다릅니다. 어떤 버전을 사용하고 있습니까?

+0

감사합니다. 나는 이것을 조사 할 것이다. 버전 1.5.20902.9026 –

+0

벤을 사용하고 있습니다. vsix 패키지의 위치는 해당 코드입니까? dll을 반영하거나 들여다 보았습니까? –

+0

http://nuget.codeplex.com에서 코드를 찾을 수 있습니다. 그래서 정말 특별한 것을하지 않았습니다! :) –

관련 문제