在TFS中,我添加了一个步骤“Nuget Packager”。该项目建立良好,但是当我解压缩nupkg文件时,它包含项目文件(.csproj, .cs,* .config文件)。我只希望二进制文件(例如bin \ Release * .dll文件)。在构建定义中我错过了什么?TFS Nuget Packager构建步骤在nupkg文件中包含代码(* .cs)文件
回答
更新
建议你使用.csproj
代替**\*.nuspec
在路径的csproj或nuspec文件(S)收拾包的NuGet任务的。这将在本地获得与TFS相同的结果。
通过nuget spec命令自动创建.nuspec
包清单。 XML清单文件看起来像:
<metadata>
<id>C:\Users\xx\Source\Workspaces\Workspace\TestNuGetPackager\TestNuGetPackager\xx.csproj</id>
<version>1.0.0</version>
<authors>xxx</authors>
<owners>xxx</owners>
<licenseUrl>http://LICENSE_URL_HERE_OR_DELETE_THIS_LINE</licenseUrl>
<projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_LINE</projectUrl>
<iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Package description</description>
<releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
<copyright>Copyright 2017</copyright>
<tags>Tag1 Tag2</tags>
<dependencies>
<dependency id="SampleDependency" version="1.0" />
</dependencies>
</metadata>
</package>
您需要手动更改.nuspec
文件的值,如下面包括详细的DLL和硬编码的一些信息
<package >
<metadata>
<id>TestNuGetPackager</id>
<version>1.0.0</version>
<authors>Test</authors>
<owners>Test</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Package description</description>
<releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
<copyright>Copyright 2017</copyright>
<tags>Tag1 Tag2</tags>
</metadata>
<files>
<file src="bin\Release\TestNuGetPackager.dll" target="lib\46"/>
</files>
</package>
这之后,您将获得唯一的二进制文件,否则使用系统自动生成的.nuspec
文件,你将打包包含项目文件。需要检查修改后的.nuspec
文件到TFS并再次触发构建。 The role and structure of the .nuspec file
我原来是这样的,但它没有帮助 – alltej
@alltej您可以打包'** \ *。nuspec'文件,而不是'.csproj'文件。随着创建一个.nuspec包清单。清单是一个XML文件,用于描述软件包的内容**,并且它本身包含在软件包中。有关如何使用.nuspec文件的更多详细信息,请参阅本教程:https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package#the-role-and-structure-of- the-nuspec-file –
是的,我确实使用了nuspec文件。它是在与* .csproj文件相同的目录下使用'nuget spec'创建的。 – alltej
- 1. 无法构建NuGet包...包含源代码和符号文件
- 2. TFS 2015构建任务 - NuGet Packager
- 3. 如何创建一个只包含文件的nupkg?
- 4. TFS NuGet安装程序构建步骤不起作用
- 5. 创建包含.NET Core的自定义构建步骤的nuget包
- 6. 如何设置TFS NuGet Packager目标文件夹?
- 7. 如何在本地安装NuGet包.nupkg文件?
- 8. 在TeamCity中恢复NuGet包构建和部署步骤
- 9. 从包含/ debian文件夹的源代码构建Debian包
- 10. 将按钮包含到.cs文件中
- 11. 包含在TFS中的解决方案NuGet构建
- 12. PHP-CS-Fixer美化包含php和html代码的.php文件
- 13. Tfs vNext,还原Nuget包构建步骤,如何配置多个来源?
- 14. 在JS代码中包含JS文件
- 15. TFS自动化构建以代码包
- 16. NuGet服务器找不到.nupkg包文件
- 17. 在tfs中包含空文件夹build
- 18. TFS 2010定制构建步骤
- 19. 在TFS 2017构建定义中排除“复制文件”中的整个文件夹/内容步骤
- 20. 用于构建模块的Cmake(文件夹包含源代码)
- 21. 在Jenkins中使用未管理的文件构建步骤
- 22. 自定义构建步骤中的自动版本文件步骤
- 23. 并行运行TFS构建步骤
- 24. VS代码“在包含路径中找不到包含文件”。
- 25. tfs nuget步骤未能获得较旧版本的包
- 26. dnu包是在nupkg中嵌套库文件夹
- 27. 在Nuget恢复步骤中VSTS构建失败
- 28. 进行构建,删除源CS文件
- 29. Jenkins在构建shell步骤期间采购配置文件
- 30. 构建层不包含dojo/**/*。js文件
您可以共享“的NuGet打包”任务的详细设置:
更多有关如何使用.nuspec文件请参见本教程的详细信息? –