2017-02-13 6 views
1

Я запускаю .NET Core 1.1.0 на Ubuntu 14.04, с целью размещения моих веб-API в Docker на Ubuntu. Я хочу создать свои пакеты на Ubuntu, но некоторые из ссылок NuGet размещены во внутреннем репозитории NuGet (Artifactory). Это прекрасно работает в VS2015 на Windows, после того, как я добавить источник пакета, но когда я бегу:Как зарегистрировать новый источник пакета NuGet с помощью dotnet CLI на Ubuntu 14.04?

dotnet restore 

на Ubuntu, пакеты, размещенные на общественном NuGet скачать репо штрафа, а те, на Artifactory неудачу:

error: Unable to resolve 'Mercury.BaseModel (>= 1.1.0)' for '.NETCoreApp,Version=v1.1'. 

Я нашел файл конфигурации NuGet в \home\<user>\.nuget\NuGet\NuGet.Config и добавил Artifactory репозиторий следующим образом:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <packageSources> 
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> 
    <add key="Artifactory-DEV" value="https://theluggage-agct.gray.net/artifactory/api/nuget/nuget-institutional-development-local" protocolVersion="3"/> 
    </packageSources> 
</configuration> 

, но я все еще получаю ту же ошибку.

NuGet сам по себе не работает после установки .NET Core SDK, я использую dotnet restore, как уже упоминалось, - есть ли аналогичная конфигурация, которую я должен отредактировать для CLET dotnet (который должен использовать NuGet?) Или есть что-то еще, что мне нужно делать?

Спасибо!

ответ

2

В конце концов, что я быстро определил 2 проблемы я пропустил:

  1. Я использовал sudo -i бежать как корень пытается решить эту проблему, так как в результате конфигурации установки я NuGet в моей \ домашней папке не подбирали.
  2. Возвращаясь к моему собственному входа в систему, я тогда получил ошибку:

    error: Unable to load the service index for source https://theluggage-agct.gray.net/artifactory/api/nuget/nuget-institutional-development-local. 
    error: The content at 'https://theluggage-agct.gray.net/artifactory/api/nuget/nuget-institutional-development-local' is not a valid JSON object. 
    error: Unexpected character encountered while parsing value: <. Path '', line 0, position 0. 
    

Оказывается, что наш Artifactory NuGet возвращает Репо XML, который NuGet v2 соответствует. Я изменил конфигурационный файл, чтобы установить репо как v2, и теперь он работает. Таким образом, из выше, редактировать файл в

\home\<user>\.nuget\NuGet\NuGet.Config 

добавив свой новый URL репо, и получить версию настройки прав:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <packageSources> 
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> 
    <add key="Artifactory-DEV" value="https://theluggage-agct.gray.net/artifactory/api/nuget/nuget-institutional-development-local" protocolVersion="2"/> 
    </packageSources> 
</configuration> 
+1

Вы также можете найти новую поддержку DotNet консоли для добавления NuGet пакетов полезно: http://ardalis.com/how-to-add-a-nuget-package-using-dotnet-add – ssmith

+0

Это стоит знать, хотя здесь я спрашивал о добавлении нового источника пакета; я вижу, что я использую добавление dotnet, хотя, спасибо. – Peter

+0

Ах, хорошая точка. Извините, неправильно. :) – ssmith

Смежные вопросы