【问题标题】:How to delete file from project in NuGet PowerShell install?如何在 NuGet PowerShell 安装中从项目中删除文件?
【发布时间】:2015-06-03 11:37:00
【问题描述】:

我试图在安装 NuGet 包的 PowerShell 期间从项目中删除文件。

我用这个命令删除了项目根目录下的一个文件:

参数($installPath, $toolsPath, $package, $project)

$file1 = $project.ProjectItems |其中 { $_.Name -eq "DebugTrace.cs" }

$file1.Delete()

但如果文件在子文件夹中,则不会被删除。要删除子文件夹中的文件,我使用以下命令:

$file2 = $project.ProjectItems | ForEach-Object { $.ProjectItems } |其中 { $.Name -eq "DebugTrace.cs" }

$file2.Delete()

但如果文件在根目录或子文件夹中,则不会被删除。

总结: - 我的第一个示例:仅在根目录中删除文件 - 我的第二个示例:仅在子文件夹中删除文件

我想删除位于子子文件夹中的文件。

理想情况下,我很想找到一种无论文件位置如何都有效的方法。

【问题讨论】:

    标签: powershell nuget nuget-package


    【解决方案1】:

    这行得通吗?

    $item = $project.ProjectItems.Item("YourFolder").ProjectItems.Item("DebugTrace.cs")
    

    【讨论】:

      【解决方案2】:

      请试试这个,

      param($installPath, $toolsPath, $package, $project)
      
      $DirInfo = New-Object System.IO.DirectoryInfo($installPath) 
      
      $appDir = New-Object System.IO.DirectoryInfo($DirInfo.Parent.Parent.FullName)
      
      $fullPath = [IO.Path]::Combine($appDir.FullName, $appDir.Name, "App_Code\DebugTrace.cs")
      Remove-Item $fullPath
      

      将 App_Code 文件夹更改为您的子文件夹。

      我希望这段代码能解决你的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-10
        • 2021-04-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多