2013-04-04 44 views
9

我在teamcity中使用NUGET包来构建包。但它正在创建以下错误。我正在使用nuget teamcity版本2.2.1。无法为指定的URI添加部分,因为它已经在包中

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 

请指导我在这里失踪。

+0

+1,但如果我的回答没有帮助,请您可以发布您的nuspec文件/更多细节? – psych 2013-04-04 12:54:45

+1

我正在使用octopack。无法看到任何nuspec文件。它添加了一个包含以下内容的包文件 并在NUGET包发送包参数指定项目文件 – sam 2013-04-04 14:14:15

+0

你得到这个固定的? – 2013-05-09 14:09:14

回答

0

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

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

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

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

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

+0

谢谢你解决了我的问题!我也有这个问题,因为作为参考和内容的项目包含在* .csproj文件中 – gurkan 2014-01-02 11:17:26

+0

完全为我工作谢谢! – osij2is 2014-07-18 19:27:10

1

在我.nuspec文件我有相当于线:由于的AssemblyInfo.cs文件中的两个项目是

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

我得到了错误。

(这是使一个符号的NuGet包的创建。)

+0

我有同样的问题要解决它,请指定不同的目标目录:target =“src \ ProjectA”,target =“src \ ProjectB”。 – Daniel 2014-11-29 22:28:58

7

我有同样的错误,但有在的csproj文件中没有问题。我正在使用打字稿,并意外检查.js文件。所以在运行时,另一个js文件正在生成,因此每个js文件都有两个被添加。

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

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

+0

Thanks @GarethReid - 我们遇到了同样的问题,你的解决方案修复了它:) – nootn 2015-10-02 05:13:39

2

一个可能的问题可能是Octopack实际上是区分大小写的。在我的情况下,VS Project已经提及小写字母的文件名称 such as this

+0

我的问题是大小写敏感性也。大写字母文件编译为一个js文件,全部小写。更改.js文件名的大小写以匹配.ts文件修复了问题 – soupy1976 2016-06-30 11:21:32

+1

在我的情况下,它像在另一个文件的顶部有一个旧的'/// '行一样晦涩难懂,导致Language-Service.ts被编译为语言服务.ts – 2017-01-20 09:06:45

1

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

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

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

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

非常感谢你,我不知道在这里如果不是你的答案,我会花多长时间才能找到它。 – bikeman868 2018-01-10 00:22:38

相关问题