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

利用Nuget打包添加tools下intsall.ps1【powershell脚本】修改.csproj文件的更多相关文章

  1. [2016-07-15]nuget包管理器控制台下的powershell脚本介绍

    博客有阵子没打理了,今天刚恢复样式,但是标题还是不太正常,总算能凑合看看. 回到正题,最近为了能在VS的程序包管理器控制台上能方便的自定义ps脚本去调整project的package,就开始看powe ...

  2. nuget包管理器控制台下的powershell脚本介绍

    http://personball.com/powershell/2016/07/15/powershell-tips 定制自己的powershell,减少重复工作 安装一系列自己的常用nuget包 ...

  3. Mac下通过shell脚本修改properties文件

    通过shell脚本替换属性文件中的某行记录 假设有如下属性文件 demo.properties user.name=test user.password=123456 ................ ...

  4. 【ASP.NET】利用Nuget打包package——命令行方式

    通过命令行 官方说明,可以参考:creating-and-publishing-a-package 如果你希望可以使用图形界面的方式,请参考这篇文章   打包dll   使用如下的命令: nuget  ...

  5. 【ASP.NET】利用Nuget打包package——GUI方式

    GUI方式 通过GUI的方式,可以下载如下的软件 NuGetPackageExplorer   打包dll 1.打开软件,在Package Content处点击右键 ,选择Add Lib 2.在lib ...

  6. Nuget~打包时添加powershell初始化脚本

    对于进行nuget打包时,有时我们需要添加一个配置文件,就是一些文本文件,而这些文件我们在网站发布时需要同时复制到输出目录,否则会出现文件丢失的问题,我们在打包时通过添加powershell脚本来解决 ...

  7. cocos2dx 3.x(在Mac平台下利用Eclipse打包安卓apk安装包详细教程)

    最近在学习cocos2dx在MAC上如何打包apk,今天先把安装JDK和ANT的过程记来. 首先,打开终端,输入"java -version" 点击回车后,出现如下提示: 我们的M ...

  8. 使用NuGet打包并发布至ProGet过程 (打包再次详解)【下篇】

    一.前言 上篇[1]主要介绍了利用csproj文件使用NuGet打包至ProGet的过程,并附上了用于在Jenkins上运行的python脚本.本篇的主要内容分为以下几点: 1. Nuspec与Nup ...

  9. 【NuGet】使用NuGet打包并发布至ProGet过程 (打包再次详解)【下篇】

    一.前言 上篇[1]主要介绍了利用csproj文件使用NuGet打包至ProGet的过程,并附上了用于在Jenkins上运行的python脚本.本篇的主要内容分为以下几点: 1. Nuspec与Nup ...

随机推荐

  1. 最佳实践:腾讯HTAP数据库TBase助力某省核心IT架构升级

    https://mp.weixin.qq.com/s/56NHPyzx5F6QeCjuOq5IRQ 资源隔离能力: 在HTAP系统中,OLTP和OLAP业务要同时运行,两者都会消耗巨量的资源都,如果不 ...

  2. Appium入门(4)__ Appium Client安装

    打算使用 Python 语言编写 appium 自动化测试脚本 一.前提: 1.安装Python语言 到Python官网下载最新版本:https://www.python.org/ 2.安装Pytho ...

  3. Python 常用的日期时间命令

    今天用到自动添加当前时间,居然把之前的知识忘了,特整理常用的日期时间命令 代码: # 获取当前时间# import time# localtime = time.localtime(time.time ...

  4. Aop的基本介绍

    基本概念 通知  就是你想要的功能,也就是我们常说的安全.事物.日志等.先定义好这些,然后再想用的地方用一下.包含Aspect的一段处理代码 注意:其实这些功能(通知)并不是我们业务逻辑所必须的,只是 ...

  5. 【pyqtgraph绘图】如何使用pyqtgraph

    解读官方API-如何使用pyqtgraph 这里有一些使用pyqtgraph的建议方法: 从交互式shell(python -i,ipython等) 从应用程序显示弹出窗口 在PyQt应用程序中嵌入小 ...

  6. es中对mapping的理解

    (1)往es里面直接插入数据,es会自动建立索引,同时建立type以及对应的mapping (2)mapping中就自动定义了每个field的数据类型 (3)不同的数据类型(比如说text和date) ...

  7. MongoDB pymongo模块 删除数据

    使用user集合,删除user集合的数据 import pymongo mongo_client = pymongo.MongoClient( host='192.168.0.112', port=2 ...

  8. RzCheckTree基本使用

    procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin //循环读取勾选节点代码及内容 //StateIndex 1 ...

  9. ionic3 读写权限申请

    This plugin is designed to support Android new permissions checking mechanism. 1.安装插件 $ ionic cordov ...

  10. [py]py里的isinstance判断实例来源(含父类)

    Isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type(). isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系. ...