利用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)