Подтвердить что ты не робот

Можно ли фильтровать пакеты nuget на поддерживаемой платформе?

Например, если я хочу только пакеты для .Net Platform Standard. Теперь я ищу пакет, попытаюсь установить его, получив:

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. Поэтому возникает вопрос: есть ли способ получить пакеты только для определенной платформы (это означает, что фильтр по платформе ищет что-то). Меня интересует .Net Platform Standard. Надеюсь, вы не видите здесь что-то неопределенное.

Изменить: Вот поиск api с сайта 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>

Когда я использую функцию поиска, параметр 'searchTerm' работает, но не параметр 'targetFramework'.

Другое Редактирование: HTTP-запрос VisualStudio NuGet в Fiddler:

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

Целевая структура автоматически устанавливается из диспетчера пакетов Visual Studio NuGet. Что на самом деле не работает, это параметр targetFramework в api поиска из NuGet

4b9b3361

Ответ 1

NuGet имеет возможность настроить таргетинг на инфраструктуру, как указано в здесь

Существует открытый запрос функции, соответствующий вашему сценарию на github

Я чувствую, что у вас может возникнуть возможность получить фильтрацию с помощью сценариев консоли Power Shell, когда я столкнулся с этой страницей. См. Раздел "Получение имени Framework".