12

我在 teamcity 中使用 NUGET Pack 来构建一个包。但它正在创建以下错误。我正在使用 nuget teamcity 版本 2.2.1。

Step 2/2: Build Package (NuGet Pack) (14s)

[12:10:40][Step 2/2] Cleaning Z:\hgbuilds\IT\Build\packages

[12:10:40][Step 2/2] pack: Create NuGet package from UI\UI.Tour\UI.Tour.Web\UI.Tour.Web.csproj (14s)

[12:10:40][pack] NuGet command: C:\BuildAgent\tools\NuGet.CommandLine.2.2.1.nupkg\tools\NuGet.exe pack Z:\hgbuilds\IT\UI\UI.Tour\UI.Tour.Web\Calrom.UI.InclusiveTour.Web.csproj -OutputDirectory Z:\hgbuilds\IT\Build\packages -BasePath Z:\hgbuilds\IT -Verbose -Version 1.0.0.7 -Symbols -Properties Configuration=Deploy-Test

[12:10:40][pack] Starting: C:\BuildAgent\temp\agentTmp\custom_script2086270793558421822.cmd

[12:10:40][pack] in directory: Z:\hgbuilds\IT

[12:10:45][pack] WARNING: Option 'Verbose' has been deprecated. Use 'Verbosity' instead.

[12:10:45][pack] Attempting to build package from 'UI.Tour.Web.csproj'.

[12:10:45][pack] Packing files from 'Z:\hgbuilds\IT\UI\UI.Tour\UI.Tour.Web\bin'.

[12:10:46][pack] WARNING: Description was not specified. Using 'Description'.

[12:10:48][pack] content

[12:10:54][pack] Cannot add part for the specified URI because it is already in the package.

[12:10:54][pack] Process exited with code 1

[12:10:54][Step 2/2] Step Build Package (NuGet Pack) failed

请指导我在这里缺少的东西。

4

6 回答 6

7

我有同样的错误,但 csproj 文件中没有问题。我正在使用打字稿并且不小心签入了 .js 文件。所以在运行时正在生成另一个 js 文件,因此每个 js 文件中添加了两个。

我通过查看团队城市构建日志并查找重复项找到了它。因为他们是“不复制”,所以简单的 msbuild 没有问题,但是当我们刚刚切换到使用 Octopack 时,在解决方案时无法添加多个.....

您可以找到罪魁祸首(打字稿或其他),因为它将在“尝试创建行”之后首先出现(可能有很多,但一次找到它们可能比手动操作更容易) 在此处输入图像描述

于 2014-06-04T06:18:00.507 回答
4

编辑项目文件并确保您没有重复的参考包含或重复的内容包含。我的问题是我有...

    <Reference Include="SCS.PickList, Version=1.7.0.0, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>Bin\SCS.PickList.dll</HintPath>
</Reference>

<Content Include="Bin\SCS.PickList.dll" />

一旦我删除了内容,它就起作用了。

于 2013-05-09T14:23:04.457 回答
2

一个可能的问题是 Octopack 实际上是区分大小写的。在我的情况下,VS Project 引用了名称为小写字母的文件, 例如

于 2016-01-26T01:26:20.263 回答
1

在我的 .nuspec 文件中,我的行相当于:

<file src="Source\MyCompany.ProjectA\**\*.cs" target="src" />
<file src="Source\MyCompany.ProjectB\**\*.cs" target="src" />

由于AssemblyInfo.cs文件在两个项目中,我得到了错误。

(这是为了启用 NuGet 符号包的创建。)

于 2013-06-05T07:26:28.010 回答
1

对我来说,这是因为我的文件没有扩展名。

<file src=".\LICENSE" target="" />
<file src=".\NOTICE" target="" />

我的解决方案是在文件末尾添加一个通配符:

<file src=".\LICENSE*" target="" />
<file src=".\NOTICE*" target="" />
于 2016-08-31T22:25:10.130 回答
0

在您的 nuspec 文件中是否指定了文件节点?

<files>
    <file src="the_dll_for_your_csproj"/>
</files>

如果是这样,您是否可能已包含(显式或通过通配符)您尝试构建的 csproj 的 dll?

于 2013-04-04T12:53:12.303 回答