gpt4 book ai didi

powershell - Nuget复制文件并将其添加到解决方案级别

转载 作者:行者123 更新时间:2023-12-03 12:45:00 25 4
gpt4 key购买 nike

我想创建一个NUGET包,它将多个文件添加到某个解决方案文件夹中。具体来说,该软件包在安装时必须执行以下操作:

  • 在目标项目中创建一个临时文件夹。
  • 将所有与扩展名匹配的文件(例如* .txt)复制到temp文件夹中。
  • 将文件移到解决方案根目录。
  • 创建一个名为“解决方案项目”的解决方案文件夹。
  • 添加所有刚刚移到该解决方案文件夹的文件。
  • 从解决方案和磁盘上的中删除临时文件夹。

  • 我使用package.nuspec文件创建一个临时目录,然后转储文件和init.ps1来完成其余的工作。

    不幸的是,步骤1之外没有任何 react 。

    这是我的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
    }

    最佳答案

    当您在nuget软件包浏览器中打开使用nuspec创建的软件包时,在content\temp文件夹中是否看到任何.txt文件?

    调用nuget.exe包时,它将在制作包本身的同时将.txt文件从source\文件夹复制到content\temp。

    有关更多信息,请引用http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package

    关于powershell - Nuget复制文件并将其添加到解决方案级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20759795/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com