【问题标题】:How do I create a package that depends on a package that "targets projects"?如何创建一个依赖于“以项目为目标”的包的包?
【发布时间】:2015-05-21 20:08:15
【问题描述】:

我正在尝试创建一个巧克力包装。我最初创建了一个没有任何依赖项的版本,我只是在 tools/bin 目录中放置了一个 exe 文件,然后制作了一个简单的 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

添加此依赖项我做错了什么?

【问题讨论】:

    标签: c# nuget chocolatey


    【解决方案1】:

    这是一个非常古老、愚蠢的 nuget 包装问题。 LispParsingLibrary 包中有一个名为“content”的文件夹。这意味着你的包也需要一个内容文件夹。

    我们完全不建议这样做。请让 LispParsingLibrary 的维护者删除该文件夹或在安装时创建它并将文件复制到其中。

    我以为我们提交了一个问题来跟踪此问题,但我添加了 https://github.com/chocolatey/choco/issues/290

    【讨论】:

    • LispParsingLibrary 似乎没有内容文件夹。例如,在 NuGet 包资源管理器中打开它只会显示一个带有 dll 的 lib/net45 文件夹,而没有内容文件夹。
    • @Jake 在哪里可以找到这个 LispParsingLibrary 包?我在 Nuget 或 Chocolatey 上看不到它。
    猜你喜欢
    • 1970-01-01
    • 2019-08-05
    • 2020-05-15
    • 1970-01-01
    • 2020-07-24
    • 2022-01-25
    • 1970-01-01
    • 2021-08-07
    • 2016-10-03
    相关资源
    最近更新 更多