【问题标题】:Nuget packages bundled in teamcity not installing documentation files捆绑在 teamcity 中的 Nuget 包未安装文档文件
【发布时间】:2018-06-18 10:17:14
【问题描述】:

所以基本上我是通过运行“包”目标的 .proj 文件在 TeamCity 中构建 nuget 包:

  <MSBuild 
    Projects="$(MSBuildProjectDirectory)\PROJNAME.csproj"
    Targets="Rebuild;pack"
    Properties="Configuration=$(Configuration);Version=$(BUILD_NUMBER)" />

工件输出为:

PROJNAME\bin\Release\PROJNAME.%build.number%.nupkg

这非常适合 nuget 包的基本使用,但是我无法让文档 xml 文件正常工作。

我查看了输出 nupkg 的内部,我看到文档 xml 实际上已捆绑并包含在包中,但问题是当我最终在我的消费项目中恢复 nuget 包时,dll 会按预期复制,但是文档没有。

我想知道这是否是因为 TC 生成的 .nuspec 文件,如果我可能需要放弃 teamcities nuspec 并创建自己的,但我希望避免这种情况,因为它可以很好地工作,并且可以处理版本控制等。

有没有简单的方法在包恢复的时候包含文档xml?

【问题讨论】:

标签: nuget teamcity nuget-package


【解决方案1】:

最后我发现它归结为三件事,是:


  1. 确保项目配置设置为生成文档。

    • 通过手动添加代码,例如:

      <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"><DocumentationFile>bin\$(Configuration)\netstandard2.0\Project.documentation.xml</DocumentationFile> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <DocumentationFile>bin\$(Configuration)\netstandard2.0\Project.documentation.xml</DocumentationFile> </PropertyGroup>

    • 或者通过 Visual Studio 项目属性菜单,如果您通过 VS 执行此操作,还请确保您对所有配置都执行此操作(如下图中的 A 所示):


  1. 将 EnableDocumentationFile 添加到您的 .csproj 文件中,例如:

    <PropertyGroup> <TargetFramework>netstandard2.0</TargetFramework> <RootNamespace>project</RootNamespace> <Configurations>Debug;Release</Configurations> <EnableDocumentationFile>true</EnableDocumentationFile> </PropertyGroup>


  1. 最重要的是让您的项目知道(再次在您的 .csproj 中)它应该复制文档文件,如果您希望它出现在与包 dll 相同的级别,请使用 PackageFlatten:

    <ItemGroup> <None Remove="bin\$(Configuration)\netstandard2.0\Project.documentation.xml" /> </ItemGroup> <ItemGroup> <Content Include="bin\$(Configuration)\netstandard2.0\Project.documentation.xml"> <Pack>true</Pack> <PackageCopyToOutput>true</PackageCopyToOutput> <PackageFlatten>true</PackageFlatten> </Content> </ItemGroup>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    相关资源
    最近更新 更多