Category: 日常开发工作

  • Azure DevOps添加Task新状态

    Azure DevOps默认的Task只有4个状态,分别是To Do, In Progress, Done, Removed。很多时候我们会需要一些额外的状态来更好的区分task,比如 添加一个Triage状态,标示Task需要先review在做分配 添加一个Testing状态,标示Task里的功能已经完成,可以测试 Azure DevOps允许用户自由定制workflow,对Task,Bug,Backlog进行扩展,下面是给Task的State增加一个新字段的具体操作 打开Azure DevOps管理门户,在首页点左下角的Organization settings 点击Board下的Process,在右边找到要修改的模板,点击 找到要修改的work item type,点击 点击State tab,点+New State添加新状态即可

  • Visual Studio 2017制作离线安装包

    Visual Studio 2017开始,不在提供ISO版本,只有一个web installer的exe安装包了,这对于需要在内网安装VS的用户来说很不方便,因为需要自己去制作这个离线安装包了。下面是具体步骤: 下载VS 2017的exe安装文件 确定需要做到离线包里的工作负载(对应英文版的名字是Workload),如果不确定需要装哪些组件,可以运行一下exe安装包,从安装向导的UI里确定一下。完整的workload id列表可以从这个页面查找 打开命令行窗口,这里我想做的是一个中文的安装包,包含DotNet桌面开发,ASP.NET和DotNet Core这些workload,具体命令如下。这个命令会自动下载所有需要的文件,到本地的c:\vs2017.3,运行完毕后这个文件夹就可以用来做VS的离线安装了。 C:\DelMe>mu_visual_studio_enterprise_2017_version_15.3_x86_x64_11100063.exe –layout C:\vs2017.3 –lang zh-CN –add Microsoft.VisualStudio.Workload.NetWeb Microsoft.VisualStudio.Workload.ManagedDesktop Microsoft.VisualStudio.Workload.NetCoreTools 参考文档 https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-enterprise https://docs.microsoft.com/en-us/visualstudio/install/create-an-offline-installation-of-visual-studio https://docs.microsoft.com/en-us/visualstudio/install/use-command-line-parameters-to-install-visual-studio

  • TFS服务器删除搜索组件

    升级TFS服务器到TFS 2017以后,发现TFS经常会出现OutOfMemory的错误,排查了一下,罪魁祸首居然是Elastic Search。TFS 2017开始,如果启用代码搜索功能,TFS会在本地装一个Elastic Search来做索引代码。 这篇博文记录一下在TFS服务器移除搜索服务以及Elastic Search的过程: 先打开TFS管理控制台,左边选择TFS服务器名字,然后点右边窗口里的删除特性,弹出框里选择Team Foundation搜索服务,点删除 删除环境变量SEARCH_ES_INDEX_PATH里定义的文件夹,这会删除所有的Search索引 删除环境变量SEARCH_ES_INDEX_PATH和ES_HEAP_SIZE 运行Configure-TFSSearch.ps1 remove,删除Elastic Search

  • Windows Server远程桌面里如何修改密码

    如果你楼主一样经常需要远程登陆到windows server去给一些Service账号改密码,一定会发现在远程桌面里,Ctrl-Alt-Del无法调出改密码的窗口,因为这个指定总是被当前的Windows环境捕获了,远程的机器收不到这个命令。其实正确的在Windows Server远程桌面里改密码的姿势是Ctrl-Del-End,具体步骤如下 远程桌面登陆 同时按Ctrl-Del-End 输入当前密码和新密码提交

  • 配置Azure WebApp只能通过https访问

    这篇博文记录如何配置Azrue WebApp只允许https访问,非https的请求一律重定向到https。 具体步骤是在web.config里加一个urlrewrite信息,如下所示,需要加在rewrite/rules节点下 <rule name=”Force HTTPS” enabled=”true”>   <match url=”(.*)” ignoreCase=”false” />   <conditions>     <add input=”{HTTPS}” pattern=”off” />     <add input=”{WARMUP_REQUEST}” pattern=”1″ negate=”true” />   </conditions>   <action type=”Redirect” url=”https://{HTTP_HOST}/{R:1}” appendQueryString=”true” redirectType=”Permanent” /> </rule>

  • Azure WebApp使用反向代理

    Azure WebApp有个很赞的功能,就是默认的二级域名自带https证书。这里记录一下用Azure WebApp来反代其他应用的步骤,同时也感谢Herb童鞋提供的技术支持 在wwwroot的上层目录添加一个名为applicationHost.xdt的文件,内容如下 <?xml version=”1.0″?> <configuration xmlns:xdt=”http://schemas.microsoft.com/XML-Document-Transform”> <system.webServer> <proxy xdt:Transform=”InsertIfMissing” enabled=”true” preserveHostHeader=”false” reverseRewriteHostInResponseHeaders=”false” /> <rewrite> <allowedServerVariables> <add name=”HTTP_X_ORIGINAL_HOST” xdt:Transform=”Insert” /> <add name=”HTTP_X_UNPROXIED_URL” xdt:Transform=”Insert” /> <add name=”HTTP_X_ORIGINAL_ACCEPT_ENCODING” xdt:Transform=”Insert” /> <add name=”HTTP_ACCEPT_ENCODING” xdt:Transform=”Insert” /> </allowedServerVariables> </rewrite> </system.webServer> </configuration> 更新web.config文件,增加urlwrite规则 <rule name=”Search” stopProcessing=”true”> <match url=”^Indexes?(.*)” /> <action type=”Rewrite” url=”http://10.1.0.254/indexes/{R:1}” /> <serverVariables> <set name=”HTTP_X_UNPROXIED_URL” value=”http://10.1.0.254/indexes/{R:1}“ /> <set name=”HTTP_X_ORIGINAL_ACCEPT_ENCODING”…

  • GitHub提交PR的時候使用Squash

    记录一下在GitHub里怎么用Squash的方式把PR合并到master branch,首先需要在项目的设置页面里把Allow squash merging这个选项打开,如图所示。正常的仓库默认这个选项都是打开的。 然后在合并PR的时候,选择Squash and merge就行,如图所示

  • Service Fabric SfDevCluster文件夹占用空间过大解决方法

    今天突然发现C盘SSD没空间了,查了一下C:\SfDevCluster占用了30G空间,这个是Service Fabric本地开发模拟器的工作目录,详细看了一下,大部分都是log文件占满了空间。搜了一下,可以用下面方法解决 用管理员身份打开Powershell,CD到C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup文件夹下 运行下面命令, .\DevClusterSetup.ps1 -PathToClusterDataRoot D:\SfDevCluster\Data -PathToClusterLogRoot D:\SfDevCluster\Log 注意把D:\SfDevCluster换成你想要放SFCluster的新目录,这个脚本会把当前的cluster停掉并且删除D:\SfDevCluster。新的cluster部署会自动用新的目录。 更新: 有童鞋问直接清理SfDevCluster文件夹的方法,在右下角任务栏里的Service Fabric Cluster Manager右键菜单里,点Reset Local Cluster,就会删除所有的log,并将cluster恢复成默认的状态。

  • C#遍历文件夹下所有文件最短代码

    以前用C#遍历文件夹下所有的文件,都是写一个递归来做,最近发现DotNet 4.0里直接有了递归遍历文件夹访问所有文件的API,返回的是IEnumerable<string>,直接用一个foreach就可以遍历了。下面是代码示例

  • ASP.NET Core读取appsettings.json的配置

    这边博客记录迁移到ASP.NET Core过程中读取配置文件的变化。在老版本的ASP.NET里,项目的全局配置一般都存在web.config里的appSettings里,只需要用ConfigurationManager.AppSettings[“Foo”]就可以把名为Foo的变量取出来。在ASP.NET Core里,访问配置文件的方式也有了很大变化。但是ASP.NET Core里web.config已经被appsettings.json替换,加上ASP.NET Core里大量用了依赖注入(Dependency Injection),这使得读取配置信息也和之前不一样,新的框架下取配置更加灵活和易于扩展。这里用一个小例子演示如何通过Options.ConfigurationExtensions这个来取得配置。