我正在構建僅包含一組PowerShell腳本的NuGet包。所需的行爲是將腳本放置在項目和/或解決方案文件夾中,在卸載軟件包時將其刪除,並在更新軟件包時進行更新。這些腳本只需要存在於文件夾中,並複製到輸出文件夾(它們是部署腳本)。使用NuGet在Project文件夾中放置和更新PowerShell文件的選項
我已經在nuspec中使用內容目標之前完成了這項工作,但是這在netstandard/.NET核心應用程序(即任何使用PackageReference的應用程序)中不起作用。 NuGet文檔提到了元數據元素下的contentFiles元素,但它也不適用於PackageReference。我唯一能夠做的就是在tools/init.ps1中複製PowerShell腳本。我有一些部分工作,但它不處理卸載或升級路徑。而DTE從不好玩。
有沒有辦法在netstandard中使用內容文件?
如果沒有,是否存在如何正確管理NuGet生命週期(複製文件,更新文件,刪除文件)的示例或示例?
編輯:這是一個控制檯應用程序,但它也應該在一個asp.net應用程序中工作。
EDIT2:這是我試圖通過contentFiles元素做事的nuspec。當我安裝軟件包時,我沒有看到任何項目或解決方案。
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>Test</id>
<version>1.0.0</version>
<contentFiles>
<files include="Build.ps1" buildAction="Content" copyToOutput="true" />
</contentFiles>
</metadata>
<files>
<file src="Build.ps1" target="content" />
</files>
</package>
感謝, 埃裏克
我已經嘗試了這種方法,但是當我安裝包時,沒有任何反應。該文件位於nuget包文件夾中,但它不在項目或解決方案中。我粘貼了上面使用的nuspec。它似乎在控制檯或Web應用程序中都不起作用。 –
生成項目時是否將其放入輸出目錄? –
請注意,如果你不增加測試嘗試之間的版本 –