我正在尝试创造一个巧克力包。我最初创建了一个没有任何依赖项的版本,我只是将一个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
关于添加此依赖项,我做错了什么?
答案 0 :(得分:1)
这是一个非常古老,愚蠢的nuget包装问题。包LispParsingLibrary中有一个名为“content”的文件夹。这意味着您的软件包还需要一个内容文件夹。
我们根本不建议这样做。请要求LispParsingLibrary的维护者删除该文件夹或在安装时创建它并将文件复制到其中。
我认为我们有一个问题需要跟踪,但我添加了https://github.com/chocolatey/choco/issues/290