2016-06-01 2 views
20

예를 들어, .Net Platform Standard에 대한 패키지 만 원할 경우. 이제 패키지를 찾고 설치하려고 시도합니다.지원되는 플랫폼별로 nuget 패키지를 필터링 할 수 있습니까?

error: Package <name> is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). 
Package <name> supports: portable-win81+wpa81 (.NETPortable,Version=v0.0,Profile=Profile32) 
error: One or more packages are incompatible with .NETCoreApp,Version=v1.0. 

다시 시작해야합니다. 지원되는 플랫폼을 볼 수 있습니다. 즉, 정보가 있습니다.

편집 : Visual Studio에서 필터를 설정할 수 있으면 좋겠지 만 볼 수는 없지만 nuget.org에서도이 필터를 볼 수 없습니다. 질문은 : 특정 플랫폼에 대해서만 패키지를 가져 오는 방법 (플랫폼 검색으로 필터를 지정하는 것)이 있습니까? 내가 관심있는 것은 닷넷 플랫폼 표준이다. 나는 여기 당신이 모호한 것을 보지 않기를 바랍니다.

편집 : nuget.org

<edmx:Edmx xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" Version="1.0"> 
    <edmx:DataServices xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:DataServiceVersion="2.0" m:MaxDataServiceVersion="2.0"> 
     <Schema xmlns="http://schemas.microsoft.com/ado/2006/04/edm" Namespace="NuGetGallery.OData"> 
      <EntityType Name="V2FeedPackage" m:HasStream="true">...</EntityType> 
     </Schema> 
     <Schema xmlns="http://schemas.microsoft.com/ado/2006/04/edm" Namespace="NuGetGallery"> 
      <EntityContainer Name="V2FeedContext" m:IsDefaultEntityContainer="true"> 
       <EntitySet Name="Packages" EntityType="NuGetGallery.OData.V2FeedPackage"/> 
       <FunctionImport Name="Search" ReturnType="Collection(NuGetGallery.OData.V2FeedPackage)" EntitySet="Packages"> 
        <Parameter Name="searchTerm" Type="Edm.String" FixedLength="false" Unicode="false"/> 
        <Parameter Name="targetFramework" Type="Edm.String" FixedLength="false" Unicode="false"/> 
        <Parameter Name="includePrerelease" Type="Edm.Boolean" Nullable="false"/> 
       </FunctionImport> 
       <FunctionImport Name="FindPackagesById" ReturnType="Collection(NuGetGallery.OData.V2FeedPackage)" EntitySet="Packages"> 
        <Parameter Name="id" Type="Edm.String" FixedLength="false" Unicode="false"/> 
       </FunctionImport> 
       <FunctionImport Name="GetUpdates" ReturnType="Collection(NuGetGallery.OData.V2FeedPackage)" EntitySet="Packages"> 
        <Parameter Name="packageIds" Type="Edm.String" FixedLength="false" Unicode="false"/> 
        <Parameter Name="versions" Type="Edm.String" FixedLength="false" Unicode="false"/> 
        <Parameter Name="includePrerelease" Type="Edm.Boolean" Nullable="false"/> 
        <Parameter Name="includeAllVersions" Type="Edm.Boolean" Nullable="false"/> 
        <Parameter Name="targetFrameworks" Type="Edm.String" FixedLength="false" Unicode="false"/> 
        <Parameter Name="versionConstraints" Type="Edm.String" FixedLength="false" Unicode="false"/> 
       </FunctionImport> 
      </EntityContainer> 
     </Schema> 
    </edmx:DataServices> 
</edmx:Edmx> 

에서 Here is the search api 내가 Search function의 'SEARCHTERM'매개 변수의 작품이 아니라 'targetFramework'매개 변수를 사용합니다.

또 다른 편집 : 피들러에서으로 VisualStudio NuGet의 HTTP 요청 : 대상 프레임 워크 Visual Studio를 NuGet 패키지 관리자에서 자동으로 설정됩니다

GET /api/v2/Search()?$filter=IsAbsoluteLatestVersion&searchTerm='mvv'&targetFramework='netcoreapp1.0'&includePrerelease=true&$skip=0&$top=26 HTTP/1.1 

. 실제로 어떤 작동하지 않는 것은 NuGet

에서 검색 API의 targetFramework 매개 변수입니다
+0

로컬로 nuget.org 또는 빌드 중에 찾을 수 있습니까? 첫 번째 현상금을 얻고 싶지만, 질문이 다소 모호합니다.) – Thomas

+1

@ 토마스 대답이 3 가지를 모두 포함 할 수는 없습니다. 더 넓은 청중에게 그것을 적용 가능하게하는 것은 빛나는 금 배지 또는 2에 기회를 증가한다;) – Thebluefish

답변

7

on github

내 기분이 시나리오와 일치하는 열려있는 기능 요청이 here

에서 언급 한 바와 같이 NuGet 프레임 워크를 대상으로하는 옵션이 있습니다 this page을 방문했을 때 파워 쉘 콘솔 스크립트를 사용하여 필터링을 수행 할 수 있습니다. "FrameworkName 얻기"섹션을 참조하십시오.

관련 문제