利用Nuget打包添加tools下intsall.ps1【powershell脚本】修改.csproj文件

利用Nuget打包添加tools下intsall.ps1【powershell脚本】修改.csproj文件,

以设置
1、项目-生成-》输出-》选择【XML文件文件】

2、项目->调试-》启用调试器:取消[启用Visual Studio承载进程]

install.ps1脚本如下:

param($installPath, $toolsPath, $package, $project)

# save project first
$project.Save()

$xml = [xml](Get-Content -path $project.FullName)


$default = $xml.Project.PropertyGroup | Where-Object { $_.Condition -eq $null }

$assemblyName=$default.AssemblyName

if($default.DocumentationFile -eq $null) {
    $path = "binDebug$($default.AssemblyName).xml"
    $node = $xml.CreateElement('DocumentationFile', $xml.DocumentElement.NamespaceURI)
    $node.InnerText = $path
    $default.AppendChild($node) | Out-Null
}

if($default.UseVSHostingProcess -eq $null) {    
    $node1 = $xml.CreateElement('UseVSHostingProcess', $xml.DocumentElement.NamespaceURI)
    $node1.InnerText = "false"
    $default.AppendChild($node1) | Out-Null
}

#Debug

$default = $xml.Project.PropertyGroup | Where-Object { $_.Condition -Like '*Debug|AnyCPU*' }
if($default.DocumentationFile -eq $null) {
    $path = "binDebug$($assemblyName).xml"
    $node = $xml.CreateElement('DocumentationFile', $xml.DocumentElement.NamespaceURI)
    $node.InnerText = $path
    $default.AppendChild($node) | Out-Null
}


if($default.UseVSHostingProcess -eq $null) {    
    $node1 = $xml.CreateElement('UseVSHostingProcess', $xml.DocumentElement.NamespaceURI)
    $node1.InnerText = "false"
    $default.AppendChild($node1) | Out-Null
}

#Release

$default = $xml.Project.PropertyGroup | Where-Object { $_.Condition -Like '*Release|AnyCPU*' }
if($default.DocumentationFile -eq $null) {
    $path = "binRelease$($assemblyName).xml"
    $node = $xml.CreateElement('DocumentationFile', $xml.DocumentElement.NamespaceURI)
    $node.InnerText = $path
    $default.AppendChild($node) | Out-Null
}

if($default.UseVSHostingProcess -eq $null) {    
    $node1 = $xml.CreateElement('UseVSHostingProcess', $xml.DocumentElement.NamespaceURI)
    $node1.InnerText = "false"
    $default.AppendChild($node1) | Out-Null
}

$project.Save()

$xml.save($project.FullName)
原文地址:https://www.cnblogs.com/94cool/p/9219228.html