我想要創建一個NuGet包,它在安裝過程中向目標項目的根目錄添加一個.cs文件(該包的使用者被鼓勵稍後修改的基類)。Can NuGet是否可以將.cs文件添加到目標項目?
這可能嗎?到目前爲止,我發現的一切都是「不,你只能在軟件包目錄下面安裝文件」。
我想要創建一個NuGet包,它在安裝過程中向目標項目的根目錄添加一個.cs文件(該包的使用者被鼓勵稍後修改的基類)。Can NuGet是否可以將.cs文件添加到目標項目?
這可能嗎?到目前爲止,我發現的一切都是「不,你只能在軟件包目錄下面安裝文件」。
只需將您的.cs文件放在名爲「content」的文件夾中,位於包的根目錄下。 。
從文檔:
「你可以佈局遵循的NuGet約定的目錄結構
工具 - 一包的工具文件夾是從包管理器訪問的PowerShell腳本和程序。控制檯中的文件夾複製到目標項目後,它被添加到`$ ENV:路徑(PATH)環境變量
LIB - lib文件夾中集(.dll文件)添加組件。 [R安裝軟件包時引用。
content - 安裝軟件包時,內容文件夾中的文件被複制到應用程序的根目錄。
將Content文件夾視爲目標應用程序的根目錄。例如,如果我想要一個包到目標應用程序的/ images目錄添加圖像,務必將圖像放置在包中的內容/圖片文件夾「
您還可以使用nuspec的<files>
部分,將文件移動到內容的文件夾時,包正在興建?
<?xml version="1.0"?>
<package>
<metadata>
...
</metadata>
<files>
<file src="App.Template.config" target="content" />
<file src="Program.template.cs" target="content" />
</files>
</package>
目錄通配符\ * \ *可能很有用。以下內容將./Assets目錄中的所有子目錄複製到包中的./content/Assets(並排除任何名爲readme.txt的文件)。
將更新包工作後,當我做修改 –
注意,內容只複製當安裝軟件包時,升級/恢復軟件包不會更改內容t因此內容不能用nuget升級。 Nuget實際上只對.net程序集依賴項有用。 – trampster
@trampster今天仍然如此? NuGet最近的副本是否允許更新「內容」文件? – Todd