我正在构建一个 Nuget 包,它有一个带有 install.ps1 的工具文件夹。这个 Nuget 包依赖于 NugetPowerTools 包,它提供了一些 API 来处理项目及其属性。我在下面的 install.ps1 中粘贴了代码。
param($installPath, $toolsPath, $package, $project)
$buildProject = Get-MSBuildProject
$import = $buildProject.Xml.AddImport("Custom.Targets")
$buildProject.Save()
我有 2 个问题。
AddImport 将目标附加到末尾(即,在其他 Import 行之后)。我需要将 Import 作为第一行(因为我在此目标文件中有一些功能需要在其他文件之前执行)。是否可以先插入 Import (即我的 Custom.Targets 导入应该是项目文件中 Import 的第一项)?我找不到插入方法。
通过此 install.ps1 修改项目文件后,Visual Studio 中会弹出 /prompt,其中包含 4 个选项,即 SaveAs、Discard、Overwrite 和 Ignore。我想在没有此提示的情况下保存并覆盖项目文件/从我的 install.ps1 中弹出。这是为了避免用户的任何意外错误。为了克服,我在下面找到了一个链接,其中包含以下代码行,可以帮助我克服这个问题。
如何通过 nuget powershell 脚本重新加载 Visual Studio 项目
$(get-item $project.FullName).lastwritetime=get-date
但是现在,我得到另一个弹出/提示选项,包括重新加载、重新加载全部、忽略、全部忽略。有没有办法在没有这个提示的情况下重新加载这个项目?
请帮忙。
注意:如果有人可以在没有 NugetPowerTools 的情况下提供正确的语法,我可以不使用 NugetPowerTools。