2017-05-04 320 views
0

我创建NuGet包也应该包含配置文件。问题是,如果我想使用的csproj的NuGet包的定义,我不知道如何指定配置文件应该被复制,并正在安装的软件包时,“复制到输出目录”的文件集。的Visual Studio 2017年和NuGet包

https://docs.microsoft.com/en-us/nuget/guides/create-net-standard-packages-vs2017

以前我用nuspec和install.ps1。

感谢 (https://docs.microsoft.com/en-us/nuget/guides/create-net-standard-packages-vs2017

回答

0

要包含一个文件,你需要添加/修改更新项目的文件。如果您已将“复制到输出目录”设置为“保留最新”,您可能已在csproj文件中有一个目录。包括这个文件到生成的NuGet包,你需要设置Pack="true"元数据:

<ItemGroup> 
    <None Update="config.txt" CopyToOutputDirectory="PreserveNewest" Pack="true" /> 
</ItemGroup> 

请注意,根据您的项目类型(=>网络SDK或“正常”的SDK正在使用),你可能会看到不同的项目类型(NoneContent)用于文件。

+0

但这并没有复制的config.txt到项目,安装此NuGet包并不会在复制文件CopyToOutputDirectory设置。这是目标。 –

+0

啊我明白了,你要的是https://github.com/NuGet/Home/issues/4166 –

+1

这需要一个定制nuspec的时刻。请注意(即使构建操作起作用),NuGet 4和PackageReference不再将这些文件复制到消费项目的源代码中。 –