Как создать пакет, зависящий от пакета, предназначенного для проектов?

Я пытаюсь создать шоколадную упаковку. Я изначально создал версию, у которой не было никаких зависимостей, и я просто положил exe-файл в каталог tools/bin, а затем сделал простой файл nuspec, и это правильно установило бы exe-файл в путь, это все, что мне нужно для этот внутренний инструмент.

Однако теперь проект был реструктурирован, так что он зависит от внешней зависимости. Зависимость — это пакет nuget, который находится в том же репозитории, что и основной проект. Чтобы добавить зависимость, я добавил ее в раздел зависимостей. Сам проект в Visual Studio также зависит от того же. Вот мой файл nuspec: (Некоторые данные, помеченные rm, я удалил, но это не должно влиять. В остальном все то же самое)

<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not remove this test for UTF-8: if “Ω” doesnt appear as greek uppercase omega letter enclosed in quotation marks, you should use an editor that supports UTF-8, not this one. -->
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
   <metadata>
      <!-- Read this before publishing packages to chocolatey.org: https://github.com/chocolatey/chocolatey/wiki/CreatePackages -->
      <id>lisp-translator</id>
      <title>lisp-translator (Install)</title>
      <version>0.1.0</version>
      <authors>rm</authors>
      <owners>rm</owners>
      <summary>rm</summary>
      <description>rm</description>
      <projectUrl>rm</projectUrl>
      <tags>lisp-translator admin</tags>
      <copyright />
      <licenseUrl>rm</licenseUrl>
      <requireLicenseAcceptance>false</requireLicenseAcceptance>
      <!--<iconUrl>http://cdn.rawgit.com/__REPLACE_YOUR_REPO__/master/icons/lisp-translator.png</iconUrl>-->
      <dependencies>
         <dependency id="LispParsingLibrary" version="1.1.0.17190" />
      </dependencies>
      <releaseNotes />
   </metadata>
</package>

Однако, когда я пытаюсь установить его, я получаю довольно эзотерическую ошибку:

lisp-translator not installed. An error occurred during installation:
 External packages cannot depend on packages that target projects.
The install of lisp-translator was NOT successful.
lisp-translator not installed. An error occurred during installation:
 External packages cannot depend on packages that target projects.

Chocolatey installed 0/1 package(s). 1 package(s) failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
Failures:
 - lisp-translator

Что я делаю неправильно в отношении добавления этой зависимости?


person Jake    schedule 21.05.2015    source источник


Ответы (1)


Это действительно старая, глупая проблема с упаковкой nuget. В пакете LispParsingLibrary есть папка с именем «content». Это означает, что вашему пакету также потребуется папка содержимого.

Мы не рекомендуем это вообще. Пожалуйста, попросите сопровождающего LispParsingLibrary удалить эту папку или создать ее при установке и скопировать в нее файлы.

Я думал, что у нас есть проблема, чтобы отслеживать это, но я добавил https://github.com/chocolatey/choco/issues/290

person ferventcoder    schedule 22.05.2015
comment
Связанный с этим вопрос: stackoverflow.com/questions/24710818/ - person ferventcoder; 22.05.2015
comment
LispParsingLibrary, похоже, не имеет папки с содержимым. Например, при открытии его в обозревателе пакетов NuGet отображается только папка lib/net45 с dll и без папки с содержимым. - person Jake; 23.05.2015
comment
@Jake, где можно найти этот пакет LispParsingLibrary? Я не вижу этого на Nuget или Chocolatey. - person ferventcoder; 24.05.2015