.NET Developer, Microsoft MVP

DevOps 39 DevOps


VS2013插件开发:如何获取Solution Explorer中选中的文件路径

最近在爆个插件,有个需求就是能够在Solution Explorer中右键点击某个文件然后做一些下流的操作,那么首先就要想办法得到用户选择的文件或者文件们。肿么搞呢。研究了一下WebEssential的代码,总结了一下: 首先,你需要获得DTE2对象,貌似指的是你当前的VS实例。为了方便使用定义成一个静态属性,放到package类里面: 也就是继承Package类的那个类,比如public sealed class ForeverAlonePackage : Package private static DTE2 _dte; internal static DTE2 DTE { get { if (_dte == null) _dte = ServiceProvider.GlobalProvider.GetSer...

VSIX

如何迁移Microsoft Azure Application Insight

本文目前仅适用于国际版的Azure,国内版没有Application Insight服务,请注意。如果你还没有感受过Application Insight这个人类的最新希望,可以到大微软的Channel 9电视台学习一下:http://channel9.msdn.com/Series/Application-Insights-for-Visual-Studio-Online 另外,本文所说的迁移方法不会保留Application Insight的历史数据,如果你看到这里就想喷:你TM在逗我?这叫什么迁移? 。。。 那还是别往下看了。我的标题叫迁移,是因为我实在找不到别的词了。 如果你换了个Microsoft Azure的订阅,怎么迁移以往的ASP.NET, WP工程上面已经配置好的Application Insight呢?目前Azure Portal没有提供更改订阅的功能。所以我们只能...

Visual Studio Azure Application Insight

图解:如何在Visual Studio 2013中连接中国版的Azure

VS2013的Server Explorer在第一次连接Azure的时候默认弹出的登录框只能登录国际版的Azure。但是国内很多屌丝没有国际版怎么办呢?其实国内世纪互联运营的windowsazure.cn也可以通过导入订阅的方式来连接。 1. 登录国内版Azure之后,访问这个地址,下载你的订阅文件:https://manage.windowsazure.cn/publishsettings/index 2. 在VS2013里打开Server Explorer,不管你有没有连接到国际版的Azure,这里操作方法都是一样的。在“Azure”上点右键,选择“Manage Subscriptions...” 3. 在弹出的对话框里,选择“Certificates”选项卡,然后点击“Import”按钮,把刚才下载的订阅文件导入。 4. 导入成功以后应该是这个样子的。 5....

Azure

如何彻底删除TFS上已删除的文件

我们在TFS上删除文件后,在Souce Control里虽然看不到,但其实还在。只要在工具栏上选中“show deleted files”按钮就能看见这样的带红色X的已删除文件: 但是这些文件在GUI里是没办法再删除的。所以要动用命令行工具装逼。 在VS程序文件夹下找到Developer Command Prompt for VS2013。Win8可以在开始屏幕,所有应用里找到“Visual Studio Tools”文件夹。这个CMD不要求以管理员身份运行。 打开之后就可以用这个命令彻底删除文件了: tf destroy /s:你的TFS Collection地址 要删除的完整路径(服务器端) 有图有J8: 选择y,确认删除。...

TFS

VS2013连接TFS报错Key not valid for use in specified state解决办法

前不久我的VS2013突然爆了,连接TFS的时候报错"Key not valid for use in specified state",就像这样: 经查,这是微软的产品bug。具体表现为:一旦你修改了登录密码(不管是本地账户还是域账户),VS就再也连不上TFS了。目前微软没有针对这个问题的补丁。临时解决方法如下: 打开注册表,转到“[HKEY_CURRENT_USER\Software\Microsoft\VSCommon\12.0\ClientServices\TokenStorage]”,把整个“TokenStorage”节点删掉。 重启VS2013,这时候会要求你再次输入TFS的身份信息,就OK了。 太坑爹了。...

TFS Visual Studio

在IIS服务器上安装和配置Web Deploy (WS2008R2)

作为ASP.NET开发者,部署应用到测试或生产环境是家常便饭。不知道大家平时都是怎么部署网站的?手工拷贝文件?FTP?还是高端的package解压?对我来说,最方便的还是WebDeploy,它可以让我从Visual Studio中一键部署网站到IIS服务器,并且智能判断哪些文件是新增的,哪些是需要修改或删除的。Windows Azure Website就默认支持这样的部署方式。但我们不可能一直在公有云上做开发,如果我们想把这样方便的功能带到本地怎么办呢? 经过开荒,我在Windows Server 2008 R2和Windows Server 2012 R2上都成功配置了Web Deploy。目前用的最多的还是WS2008R2,所以我就带大家来看看如何在这款系统上安装和配置Web Deploy。 首先,你需要在IIS上安装管理服务。 在Server Manager(服务器管理)里面,...

IIS Web Deploy

如何删除TFS上的WorkItem

我们知道,在TFS上万一建错了Work Item是删不掉的。最多把状态设置为Removed不会显示而已。但如果我们想真正删除一个Work Item就需要一些技巧了。 首先,你电脑上必须安装了Visual Studio(这个大部分用TFS的程序员都应该有吧),并且你登录TFS的账户必须是当前Collection的管理员。不然是没有权限删除work item的。 登录TFS后,找到要删除的work item ID,如下图: 然后启动VS的命令行工具 Developer Command,运行下面这条命令: witadmin destroywi /collection:"你的TFS Collection地址" /id:要删除的Work Item ID 等删除确认出来后,然后按“y”确认。就可以成功删除了。...

TFS

How to Change TFS Server URL in Visual Studio

今天又给大家带来一个实用装逼技巧。这个故事的起因是我无意中发现微软的TFS Service支持URL重命名了,非常牛逼,就像这样: 但带来的问题就是我们需要手动更改以前所有使用这个TFS地址的地方。Visual Studio就是首当其冲的了。很可惜,在VS里面,是没有办法直接编辑TFS地址的。 如果删掉重建的话,还需要把之前所有的本地文件夹都映射一遍,万一玩脱了就爆了。所以还是建议去注册表手动修改。 要修改的位置是: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\TeamFoundation\Instances (如果你用的是VS2010,就把11.0换成10.0) 第一处:定位到原TFS地址的文件夹,把右边的Uri字段改掉。 第二处: 还有有个很阴巴的文件夹,藏在你的TFS文件夹下面,展开TFS文件夹,...

TFS Visual Studio

如何手动将一个普通.NET类库转换成可移植类库(Portable Class Library)

可移植类库是.NET程序员装逼的必备良药,至于它有多牛逼,我也不知道,大家可以自己看一下 http://msdn.microsoft.com/en-us/library/vstudio/gg597391%28v=vs.110%29.aspx 但是万一你装逼的时候手一滑,建成了一个普通的Class Library肿么办?普通青年的做法是删掉再建一个,这当然是OK的。但是,作为文艺青年,我们可以继续装逼:自己动手把这个类库转换成Portable Class Library。 为了演示,我先建一个普通的.NET类库:AVeryNBClassLibrary 在这个项目的属性页里面,自然是看不到Portable Class Library的选项的。 接下来,在项目上点右键,选择Unload Project,然后再次右键选择Edit AVeryNBClassLibrary.csproj...

.NET PCL

如何在公司Http代理后使用NuGet官方源

有些公司上网使用的是Http代理。默认情况下,VS是无法访问外部网络的。如果要使用NuGet,通常只能在局域网里架一个自己的NuGet服务器。但这种方法不论是package的数量还是更新频率都远远不如官方NuGet。所以有必要想个办法通过代理访问NuGet官方源。 NuGet的官方源地址是:https://nuget.org/api/v2/ 在VS的设置页面中可以配: 确认这个地址无误后,需要手动对VS的两处设置做更改,才能让VS用代理访问外部网络。 首先,关闭VS。打开VS安装目录,比如:D:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE 下的“devenv.exe.config”。 然后修改System.Net节点如下,proxyaddress改成你自己的代理地址。...

NuGet Proxy