我有两个项目,MyModels(包含类模型)和MyExample。XML文件是在MyModels项目中创建的,这很好。
现在,在MyExample项目中,我通过nuget安装引用了MyModels,但是当安装nuget包时,如何将XML文档包含在包中呢?(它总是丢失的)
我有两个项目,MyModels(包含类模型)和MyExample。XML文件是在MyModels项目中创建的,这很好。
现在,在MyExample项目中,我通过nuget安装引用了MyModels,但是当安装nuget包时,如何将XML文档包含在包中呢?(它总是丢失的)
类库中未打包XML文档
如果您在常规的.csproj类型项目中而不是基于SDK的项目中,可以使用.nuspec
文件中的<files>
节点直接包含XML文档以便打包,该节点跟随<metadata>
标签:
<files>
<file src="bin\Debug\MyModels.dll" target="lib\Net45" />
<file src="bin\Debug\MyModels.xml" target="lib\Net45" />
</files>
.nuspec
文件:<?xml version="1.0"?>
<package >
<metadata>
<id>MyModels</id>
<version>1.0.0</version>
<authors>Tester</authors>
<owners>Tester</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Package description</description>
<releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
<copyright>Copyright 2018</copyright>
<tags>Tag1 Tag2</tags>
</metadata>
<files>
<file src="bin\Debug\MyModels.dll" target="lib\Net45" />
<file src="bin\Debug\MyModels.xml" target="lib\Net45" />
</files>
</package>
nuget pack MyModels.nuspec
GenerateDocumentationFile
:<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
</PropertyGroup>
</Project>
GenerateDocumentationFile
,MSBuild将在nuget包中包括所有生成的文件。MyExample
项目中,可以将目标更改为内容。 <files>
<file src="bin\Debug\MyModels.dll" target="lib\Net45" />
<file src="bin\Debug\MyModels.xml" target="Content\MyModels.xml" />
</files>
<files>
<file src="bin\Debug\netcoreapp2.0\MyModels.dll" target="lib\netcoreapp2.0" />
<file src="bin\Debug\netcoreapp2.0\MyModels.xml" target="lib\netcoreapp2.0" />
</files>
https://learn.microsoft.com/en-us/nuget/reference/nuspec#including-assembly-files
希望这有所帮助。netcoreapp2.0
,具体细节请查看我的更新答案。 - Leo Liu