我想创建一个NUGET包,将几个文件添加到某个解决方案文件夹中。具体而言,软件包必须在安装时执行以下操作:
我使用package.nuspec
文件创建临时目录并转储文件,然后init.ps1
执行其余操作。
不幸的是,在第1步之后没有任何事情发生。
这是我的package.nuspec
文件。
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>IncludeFiles</id>
<version>1.0</version>
<authors>Chameera</authors>
<owners>Chameera</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>dummy include files</description>
<tags>dummy</tags>
</metadata>
<files>
<file src="source\*.txt" target="content\temp" />
</files>
</package>
这是我的init.ps1
文件。
param($installPath, $toolsPath, $package, $project)
$projectFullName = $project.FullName
$fileInfo = new-object -typename System.IO.FileInfo -ArgumentList $projectFullName
$projectDirectory = $fileInfo.DirectoryName
$tempDirectory = "temp"
$sourceDirectory = "$projectDirectory\$tempDirectory"
$destinationDirectory = (get-item $sourceDirectory).parent.FullName
if(test-path $sourceDirectory -pathtype container)
{
robocopy $sourceDirectory $destinationDirectory /XO
$tempDirectoryProjectItem = $project.ProjectItems.Item($tempDirectory)
$tempDirectoryProjectItem.Remove()
remove-item $sourceDirectory -recurse
}
答案 0 :(得分:-1)
当您在nuget包资源管理器中打开使用nuspec创建的软件包时,您是否在content \ temp文件夹中看到了任何.txt文件?
当调用nuget.exe包时,它会将.txt文件从source \文件夹复制到content \ temp,同时制作包本身。
有关详细信息,请参阅http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package