2017-05-04 258 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不再將這些文件複製到消費項目的源代碼中。 –