无法为指定的URI添加部分,因为它已经在包(Cannot add part for the spec

2019-08-19 11:02发布

我使用的NuGet包中的TeamCity构建一个软件包。 但它创造了以下错误。 我使用的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

请指导什么,我在这里失踪。

Answer 1:

我有同样的错误,但有在的csproj文件中没有问题。 我用的是打字稿及在.js文件被意外检查。 因此,在运行时产生另一个JS文件,从而出现了两个各JS的添加文件。

我发现它通过团队市构建日志去,寻找重复。 由于他们是“不复制”有一个简单的MSBuild没有问题,但我们只是切换到使用Octopack,nugeting一个解决方案时,不能添加多个.....

你可以找到罪魁祸首(打字稿或以其他方式),因为这将是第一个“试图创建线”后出现(可能有很多,但在时间上找到它们可能会比手工做更容易)



Answer 2:

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

    <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" />

一旦我删除了内容包括它的工作。



Answer 3:

一个可能的问题可能是Octopack实际上是区分大小写的。 在我的情况VS工程小写字母不得不提到与名称的文件,如本



Answer 4:

在我.nuspec文件我有相当于线:

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

我得到的错误是由于AssemblyInfo.cs文件中的两个项目之中。

(这是为了使的NuGet符号封装的创建。)



Answer 5:

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

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

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

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


Answer 6:

在你nuspec文件你有指定的文件中的节点?

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

如果是的话,是有可能,你已经包括(显式或通过通配符)为您正在试图建立的csproj的dll?



文章来源: Cannot add part for the specified URI because it is already in the package