Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TFS生成输出路径-OctoPack找不到创建Nuget包的路径_Tfs_Nuget_Nuget Package_Octopus Deploy - Fatal编程技术网

TFS生成输出路径-OctoPack找不到创建Nuget包的路径

TFS生成输出路径-OctoPack找不到创建Nuget包的路径,tfs,nuget,nuget-package,octopus-deploy,Tfs,Nuget,Nuget Package,Octopus Deploy,我有一个相当简单的类库,它的输出是单个程序集。 在TFS上设置了一个构建 我使用Octopack将其打包为nuget包 在我的NuSpec文件中,我指定我的部分如下: 这是为了使OctoPack能够将程序集放置在lib文件夹中(否则它只将程序集放在程序包的根目录中,因此无法从其他项目中引用) TFS生成失败。日志的相关部分如下: CopyFilesToOutputDirectory: Copying file from "obj\Debug\Company.NameOfAsse

我有一个相当简单的类库,它的输出是单个程序集。 在TFS上设置了一个构建

我使用Octopack将其打包为nuget包

在我的NuSpec文件中,我指定我的
部分如下:

这是为了使OctoPack能够将程序集放置在lib文件夹中(否则它只将程序集放在程序包的根目录中,因此无法从其他项目中引用)

TFS生成失败。日志的相关部分如下:

   CopyFilesToOutputDirectory:
     Copying file from "obj\Debug\Company.NameOfAssembly.dll" to "C:\Builds\4\dotNet\Company.NameOfAssembly\bin\Company.NameOfAssembly.dll".
     Company.NameOfAssembly -> C:\Builds\4\dotNet\Company.NameOfAssembly\bin\Company.NameOfAssembly.dll
     Copying file from "obj\Debug\Company.NameOfAssembly.pdb" to "C:\Builds\4\dotNet\Company.NameOfAssembly\bin\Company.NameOfAssembly.pdb".
   OctoPack:
     OctoPack: Get version info from assembly: C:\Builds\4\dotNet\Company.NameOfAssembly\bin\Company.NameOfAssembly.dll
     Using package version: 1.0.5521.18156
     OctoPack: Written files: 2
     OctoPack: Copy file: C:\Builds\4\dotNet\Company.NameOfAssembly\src\Company.NameOfAssembly\Company.NameOfAssembly.nuspec
     OctoPack: Files will not be added because the NuSpec file already contains a <files /> section with one or more elements and option OctoPackEnforceAddingFiles was not specified.
     OctoPack: Attempting to build package from 'Company.NameOfAssembly.nuspec'.
 1>MSBUILD : OctoPack error OCTONUGET: Cannot create a package that has no dependencies nor content. [C:\Builds\4\dotNet\Company.NameOfAssembly\src\Company.NameOfAssembly\Company.NameOfAssembly.csproj]
CopyFilesToOutputDirectory:
正在将文件从“obj\Debug\Company.NameOfAssembly.dll”复制到“C:\Builds\4\dotNet\Company.NameOfAssembly\bin\Company.NameOfAssembly.dll”。
Company.NameOfAssembly->C:\Builds\4\dotNet\Company.NameOfAssembly\bin\Company.NameOfAssembly.dll
正在将文件从“obj\Debug\Company.NameOfAssembly.pdb”复制到“C:\Builds\4\dotNet\Company.NameOfAssembly\bin\Company.NameOfAssembly.pdb”。
八达通:
OctoPack:从程序集获取版本信息:C:\Builds\4\dotNet\Company.NameOfAssembly\bin\Company.NameOfAssembly.dll
使用包版本:1.0.5521.18156
OctoPack:书面文件:2
OctoPack:复制文件:C:\Builds\4\dotNet\Company.NameOfAssembly\src\Company.NameOfAssembly\Company.NameOfAssembly.nuspec
OctoPack:不会添加文件,因为NuSpec文件已包含包含一个或多个元素的节,并且未指定选项OctopackForceAddingFiles。
OctoPack:正在尝试从“Company.NameOfAssembly.nuspec”生成包。
1> MSBUILD:OctoPack错误OCTONUGET:无法创建没有依赖项或内容的包。[C:\Builds\4\dotNet\Company.NameOfAssembly\src\Company.NameOfAssembly\Company.NameOfAssembly.csproj]
这基本上是因为它无法在“bin”文件夹中找到文件,正如我的NuSpec中指定的那样-
有没有办法在我的文件src中指定“C:\Builds\4\dotNet\Company.NameOfAssembly\bin”?

您需要删除该部分,并让OctoPack完成这项工作


注意:永远不要使用“obj”文件夹中的文件…

问题似乎是你的一个文件夹中的点,这是一个NuGet问题,而不是OctoPack的问题。-using-NuGet的
-NoDefaultExcludes
开关适合我(我最近遇到了同样的问题)

使用OctoPack,您可以使用
OctoPackNuGetArguments
参数指定它,请参阅

我认为是对的;尝试利用OctoPack提供的一些参数。大部分(如果不是全部的话)我的OctoPack问题都是NuGet问题


我还想补充一点,在本地进行构建并根据需要定制NuSpec可能比在TFS上不断构建并等待最终结果更容易。本地NuSpec定制是一种有效的省时方法。

不幸的是,这行不通-通过“让octopack完成工作”,它不会将输出的程序集放在nuget Package的lib文件夹中,因为octopack用于部署应用程序,而不是用于组件。您应该使用OOB NuGet来完成包。如果您使用的是最新版本的TFS,您可以尝试将模板的“生成”部分中的输出位置设置为“已配置”。这将禁用在MSbuild命令行上重写OutDir的模板的行为,以便它像在VS或普通命令行中一样生成。然后,您可以添加一个生成后脚本,该脚本将所需内容从TB_build_SOURCESDIRECTORY下的位置复制到TF_build_BINARIESDIRECTORY,以便删除它们。@Alex我也遇到了同样的问题。如果你找到了一个解决方案,你能分享吗?@Baga这是9个月前的事了,我不再做这个项目了,我不记得它被修复了。下面的投票结果是最有可能的though@Alex好的,我试试,谢谢!OctoPack的大部分问题实际上都是伪装的NuGet问题。Google Chrome警告我你发布的codeplex链接。说页面上有恶意代码