我有这个nuspec文件:
<?xml version="1.0"?>
<package >
<metadata>
<id>My.Package</id>
<version>1.0.1.7</version>
<title>My Package</title>
<authors>My name</authors>
<owners>Mu author</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>My description</description>
<releaseNotes>Release note</releaseNotes>
<copyright>Copyright 2017</copyright>
<tags>tag1 tag2</tags>
<contentFiles>
<files include="myFile.config" copyToOutput="true" />
</contentFiles>
</metadata>
<files>
<file src="myFile.config" target=""/>
</files>
</package>
当我打包这个nuspec文件时,我的nupkg文件被创建,在NuGet Package Explorer中,我看到myFile.config包含在我的包中。到目前为止一直很好。
但是,当我安装此软件包时,dll会添加到引用中,但myFile.config不会添加到解决方案中。
我尝试过的事情没有成功:
- 查看磁盘上的文件夹,看看是否创建了myFile.config(不存在)
- <file src="myFile.config" target="."/>
- <file src="myFile.config" target=".\"/>
我还希望该文件设置Copy to Output Directory
:Copy always
。
我在这里缺少什么?
PS:我正在开发私人nuget服务器。
答案 0 :(得分:1)
目标需要为content
,因为nugpkg的content子目录中的文件被复制到使用项目中。
请注意,这仅适用于使用packages.config
样式引用NuGet包的项目。对于PackageReference
(在VS 2017中可用,.NET Core / ASP.NET Core / .NET Standard项目的默认设置),有一个新的contentFiles
功能,在构建过程中逻辑上包含文件。
有关详细信息,请参阅NuGet的documentation on including content files。