利用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 = "bin\Debug\$($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 = "bin\Debug\$($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 = "bin\Release\$($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)

猜你喜欢

转载自www.cnblogs.com/94cool/p/9219228.html