nuget的小Tips
1.nuget常用命令
nuget spec -a bin\Debug\DllName.dll -f //根据dll生成.nuspec文件,这样会生成无用的默认标签,比如licenseUrl、tags等
cd [ProjectDir]
nuget pack //建议根据项目生成nupkg,并从中解压出nuspec文件,这样生成的内容最精简
nuget pack DllName.nuspec -Build -Prop Configuration=Release //根据nuspec打包,但Build无效,不会生成项目
nuget pack [ProjectName].csproj -Build -Prop Configuration=Release //根据csproj打包,会自动Build,自动根据*.nuspec修改元数据,自动根据*.packages修改Dependency
nuget push [ProjectName].*.nupkg [api-key] -S [PrivateNugetUrl]
2.添加pdb
需要添加pdb方便调试的话,可以在解压出来的.nuspec中添加自定义<files>节,如下:
<?xml version="1.0"?>
<package >
<metadata>
<id>TestNuget</id>
...
</metadata>
<files>
<!--<file src="bin\Debug\TestNuget.dll" target="lib\net45" />-->
<file src="bin\Debug\TestNuget.pdb" target="lib\net45" />
</files>
</package>
注意<files>节是在metadata的外面,dll文件默认就会打包,不需要重复添加。
3.vs里自动发布
当然要在vs里能一键发布才方便,最简单的方法是在外部工具里加个bat:
nuget pack %~1 -Build -Prop Configuration=Debug -o %~3
nuget push %~3\%~2.*.nupkg [api-key] -S [PrivateNugetUrl]
del %~3\%~2.*.nupkg /q
然后在工具的参数里输入$(ProjectDir)$(ProjectFileName) $(TargetName) $(ProjectDir)bin分别作为1、2、3号参数。这里有3个小坑:
- $(ProjectDir)居然会输出2个"\\",导致nuget报某些文件找不到,拼接之后的输出目录是正确的,无语了。
- 不支持选中多个项目发布,因为宏参数里没有
$(SelectedProjects)之类的东东,DTE.ActiveSolutionProjects倒是可以,但是只能在插件里写,暂时没有想到好办法,知道的同学可以分享一下。 - Debug和Release的区别,这一点其实不能算坑。Debug:不优化代码、调试信息=full;Release:优化、调试信息=pdb-only。不论代码是否优化,都可以从vs直接F5启动调试,但如果要附加调试(Attach to process),就只能选Debug。关于full vs. pdb-only的区别,请参见这里。
nuget的小Tips的更多相关文章
- HTML meta锚点跳转 小tips
小tips meta锚点跳转 http://www.zhangxinxu.com/wordpress/2015/03/meta-http-equiv-refresh-content/
- Windows7驱动调试小Tips
v:* { } o:* { } w:* { } .shape { }p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-botto ...
- 你不知道的JavaScript--Item17 循环与prototype最后的几点小tips
1.优先使用数组而不是Object类型来表示有顺序的集合 ECMAScript标准并没有规定对JavaScript的Object类型中的属性的存储顺序. 但是在使用for..in循环对Object中的 ...
- 小tips:JS之浅拷贝与深拷贝
浅拷贝: function extendCopy(p) { var c = {}; for (var i in p) { c[i] = p[i]; } return c; } 深拷贝: functio ...
- keras搭建深度学习模型的一些小tips
定义模型两种方法: 1.sequential 类仅用于层的线性堆叠,这是目前最常用的网络架构 2.函数式API,用于层组成的有向无环图,让你可以构建任意形式的架构 from keras import ...
- 申请MVP奖励时的小Tips
大家新年好,今天MSPrecious为大家带来一些申请MVP奖励时的小Tips. 本文分为三个部分 MVP是什么 如何申请MVP 申请MVP需要注意的事项 MVP是什么? 我想,点进来看这篇文章的 ...
- 整理一些《纸书科学计算器》的小Tips
本文最开始是在2016年的文章 Win10应用<纸书科学计算器>更新啦! 发表之后撰写的,当时那篇文章收到了不少人点赞,应用在国内市场的日下载量也突然上涨,让我感到受宠若惊,这里要感谢Wp ...
- 最近工作的一点小tips
最近工作比较忙,但也积累了一些小tips,比较杂,不成系统,也并不很深入,就开一篇笼统的先记录一下,以后再深入挖掘. 1.-webkit-tap-highlight-color -webkit-tap ...
- Unity3D性能优化小tips——把this.transform缓存缓存起来
Unity3D开发时中有一个小tips,这在官方的文档里其实有提及的,但不那么显眼,这里小说一下: 在MonoBehaviour进行编程时,我们经常会用this.transform, this.gam ...
随机推荐
- (五)stm32工程代码HardFault异常查错调试方法
一.导致异常的原因很多,例如:直接使用未分配空间的指针.栈溢出等一场非法操作便会使程序进入HardFault异常状态.下面介绍怎么找出程序中的异常. 接下来在keil_MDK工程中,编译代码,并deb ...
- ios 开发之 Xcode6 No valid signing identities (i.e. certificate and private key pair) matching...
之前的项目用证书真机测试过,我想再无证书Build,出现下面的报错提示! 下面的team我无法改成None!一点击None选的还是Unhonw name(JPGE28K3W9)这个是报错的关键 最后由 ...
- redis web 客户端工具 redis-admin
redis-admin是基于java的redis web客户端(redis client),以方便广大程序员使用redis为宗旨,集五种数据结构增删改查于一身. https://github.com/ ...
- 【HTML5 】<script>元素async,defer异步加载
原文地址:HTML5′s async Script Attribute原文日期: 2010年09月22日翻译日期: 2013年08月22日 (译者注: 异步加载,可以理解为无阻塞并发处理.) (译者再 ...
- Java 默认/缺省 server 还是 client 模式
不多说,复制官方文档,适用于 Java 5 6 7 Architecture OS Default client VM if server-class, server VM; otherwise, c ...
- Element can be click when out of view
WebDriver can't action the element when out of view Webdriver can't action the element when the elem ...
- linux中无 conio.h的解决办法
conio.h不是C标准库中的头文件,在ISO和POSIX标准中均没有定义.conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函 ...
- 【CodeForces 651A】Joysticks 模拟
题意:给定a,b,每个单位时间可以将a,b中一台加1,一台减2,求最久可以支持多久. #include <cstdio> #include <algorithm> using ...
- Java多线程基础:进程和线程之由来
转载: Java多线程基础:进程和线程之由来 在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程.当然,Java并发编程涉及到很多方面的内容,不是一朝一夕就能够 ...
- 百度地图API首页 -- 鼠标经过:类似翻页效果和 类似锚点链接效果
var timer; $("li").on("mouseover",function(){ clearTimeout(timer); timer=null; $ ...