我正在寻找重命名通过 nuget 包加载的文件:
我知道我可以得到这样的文件:
$f = $project.ProjectItems | ForEach-Object { $_.ProjectItems } | where { $_.Name -eq "MyFile.cs.custom" }
我也知道我可以像这样删除该文件:
$f.Delete()
我只是在寻找重命名该文件的语法。我试过做:
$project.ProjectItems | ForEach { $_.ProjectItems } | Where { $_.Name -eq "MyFile.cs.custom" } | Foreach {Rename-Item $_.Name ($_.FileNames -replace "\.custom", "")}
那没有用
install.ps1 文件的全部内容是:
param($installPath, $toolsPath, $package, $project)
#save the project file first - this commits the changes made by nuget before this script runs.
$project.Save()
$project.ProjectItems | ForEach { $_.ProjectItems } | Where { $_.Name -eq "MyFile.cs.custom" } | Foreach {Rename-Item $_.Name ($_.FileNames -replace "\.custom", "")}
$project.Save()
我最终通过将 csproj 文件的项目启动对象更改为项目中尚不存在的类来解决此问题。