随笔分类 -  .Net

摘要:项目中要读取琐碎的文件内容,顺序执行比较耗时,所以编写以下下并发读取函数,读取时可以指定线程数,或者根据cpu数调用: 使用代码: var fileContents = ParallelReadFile(files, Environment.ProcessorCount); 并发读取函数: publ 阅读全文
posted @ 2020-12-10 13:20 广林 阅读(563) 评论(0) 推荐(0) 编辑
摘要:[assembly: AssemblyVersion("1.1.*")][assembly: AssemblyFileVersion("1.0.0.0")][assembly: AssemblyInformationalVersion("1.2.1.0")] // 用来定义 Product Vers 阅读全文
posted @ 2020-05-21 12:40 广林 阅读(440) 评论(0) 推荐(0) 编辑
摘要:Format Version(解决方案文件版本)和VS版本的对应关系: -Visual Studio 2005 - Format Version 9.00-Visual Studio 2008 - Format Version 10.00-Visual Studio 2010 - Format Ve 阅读全文
posted @ 2020-05-21 12:38 广林 阅读(4108) 评论(0) 推荐(0) 编辑
摘要:文件路径选择中的三态逻辑,效果图如下: 代码如下: private bool? _isChecked = false; /// <summary> /// 是否已选择 /// </summary> public bool? IsChecked { get { return _isChecked; } 阅读全文
posted @ 2020-04-06 09:56 广林 阅读(215) 评论(0) 推荐(0) 编辑
摘要:以下转自:https://www.cnblogs.com/AllengWang/archive/2006/11/17/563660.html 我一直不太清楚AssemblyInfo.cs中AssemblyVersion AssemblyFileVersion之间的区别,今天刚好在查TFS的版本号,需 阅读全文
posted @ 2020-03-20 09:30 广林 阅读(404) 评论(0) 推荐(0) 编辑
摘要:1.编写target文件 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Default"> <ItemGroup> <SlnFiles 阅读全文
posted @ 2020-03-16 10:38 广林 阅读(509) 评论(0) 推荐(0) 编辑
摘要:使用SharpZIpLib写的压缩解压操作类,已测试。 阅读全文
posted @ 2019-12-24 12:44 广林 阅读(387) 评论(0) 推荐(0) 编辑
摘要:在如下代码中: public async Task<string> GetData() { return await DoWork(); } 在UI线程中调用 var data = GetData().Result; 此时线程会卡死; 两种解决办法: 1,所有调用方法链中使用async、await方 阅读全文
posted @ 2019-10-15 13:22 广林 阅读(2249) 评论(0) 推荐(0) 编辑
摘要:代码如下: 难点重写索引器、重写基类方法、基类方法显示调用示例 阅读全文
posted @ 2019-07-15 13:30 广林 阅读(233) 评论(0) 推荐(0) 编辑
摘要:Severity Code Description Project File Line Suppression StateWarning MSB3268 The primary reference "C:\Users\Administrator\.nuget\packages\microsoft.b 阅读全文
posted @ 2019-05-06 09:21 广林 阅读(359) 评论(0) 推荐(0) 编辑
摘要:XP .Net 4.0使用Microsoft.Bcl需要安装XP补丁NDP40-KB2468871-v2-x86 阅读全文
posted @ 2019-01-28 13:27 广林 阅读(410) 评论(0) 推荐(0) 编辑
摘要:msxfs.dll函数加载代码 头文件定义 阅读全文
posted @ 2018-06-19 10:43 广林 阅读(786) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-09-18 14:25 广林 阅读(267) 评论(0) 推荐(0) 编辑
摘要:继上一篇VSPackge插件系列简单介绍如何正确的获取DTE之后,就一直没发VSPackge插件系列的文章了,最近同事也想了解如何在代码中与VS交互,特发一篇文章示例一些简单功能是如何调用,也以备以后查阅之用。 为了方便的调用vs的提供的服务,我这里写了一个类对vs的一些常用功能进行封装了,像什么当前选择项,当前编辑器,当前窗口,输出窗口的调用等等。还有解决方案里的选择改变事件的监听等等,更多功能还待挖掘中。 public class Ide { private Ide() { _dte2 = (DTE2)ServicePro... 阅读全文
posted @ 2013-07-26 14:45 广林 阅读(1507) 评论(2) 推荐(2) 编辑
摘要:我们的应用程序部署的时候,目录结构一般不会只有运行程序的目录这一个,我们可能在运行目录下建子目录,也可能使用System32目录,也可能使用其它第三方的程序集。.Net程序集首先会在GAC中搜索相应的版本,如果未找到则会应用程序配置文件中找(如果配置),最后到应用程序所在的路径搜索。 如何可以将程序集部署的运行目录的子目录, 在app.config添加以下配置,其中probing的privatePath就是配置当前程序搜索的子目录 ... ... 当然我们也可以更详细的配置,不过似乎一般这么用的很少,这里可以指定程序集名称、公钥、文化,版本重定向等等... 阅读全文
posted @ 2013-07-19 17:30 广林 阅读(4819) 评论(5) 推荐(6) 编辑
摘要:新增一个C#工程,用记事本打开工程文件(.csproj结尾),滚动条拉到最后,大家可以看到一段如下的代码,其中和大家根据名字也就可以看出,在编译前后似乎可以做些什么,不着急慢慢来。 ...... -->首先了解下MSBuild 项目文件架构引用,这里介绍了这些烦人的XML节点的定义。http://msdn.microsoft.com/zh-cn/library/5dy88c2e.aspx另外一些MS封装好的任务我们也浏览下http://msdn.microsoft.com/zh-cn/library/7z253716.aspx这里的任务我们就可以直接在 中使用了,例... 阅读全文
posted @ 2013-06-28 17:03 广林 阅读(2683) 评论(1) 推荐(0) 编辑
摘要:做VS插件开发,不得不了解DTE,有了DTE我们就可以与VS交互了,比如说获取当前选择的文件,比如说获取当前主窗口,比如说获取编译器等等,关于DTE接口更多的说明我把接口地址贴出来方便大家查阅。http://technet.microsoft.com/zh-cn/library/envdte.dte(v=vs.100) 如何正确的获取DTE呢?以下是从网上找到的一些方法EnvDTE80.DTE2 myDTE2 = (EnvDTE80.DTE2)Microsoft.VisualBasic.Interaction.CreateObject("VisualStudio.DTE.9.0&qu 阅读全文
posted @ 2013-06-25 13:22 广林 阅读(2460) 评论(0) 推荐(0) 编辑
摘要:相比其它开发环境,VS的好用就不用多说了,尽管VS很人性化,但是针对具体的我们想实现的功能时,会力不从心,也许会有很多现成的插件,但是作为一名程序员,我还是喜欢自己去写一些东西,因为这样能随心所欲的想做什么就做什么。 开始做事之前,我们不得不做很多的准备工作,比如说VS sp1我们得安装,理解vs插件有哪些,我们也都查不少文章,看很多哪些令人讨厌的msdn, 这些都不重要,重要的是,结果我们总会做出一个vs插件,哪些只是在磨刀而已。为什么我们会选VSPackge插件,而不是宏命令,或者addin。我们如何快速建立一个工程,我们的会花费不少时间去解决这些疑问。 下面是我参考的文章,希望对... 阅读全文
posted @ 2013-06-24 16:43 广林 阅读(1832) 评论(2) 推荐(0) 编辑
摘要:上一篇已经把我们的基础通信做好了,接下来就开始创建页面与页面服务,首先来看下我们页面与页面服务的接口定义,一目清晰了然。页面接口的定义: public interface IPage { string InstanceId { get; } bool IsPageServiceCreated { get; } ICoreClient CoreClient { get; } /// <summary> /// 初始化页面 /// </summary> void Initialize()... 阅读全文
posted @ 2013-06-18 09:44 广林 阅读(1680) 评论(2) 推荐(0) 编辑
摘要:离上次发表文章已经挺久的了,wcf这块确实挺烦人的,虽然用过几次,但是手写起来还是有点陌生,看了不少wcf的文章,终少有领悟,这里我捎带提起,更详细的我会推荐几篇不错文章供大家参考。 首先看下wcf大概包括些什么内容,这里是让大家有个清晰的纲领,不会深入介绍wcf,再说这一块也不是我这个凡人能给大家三言两语就能说明白的。 要使用wcf通信,首先要定义契约,我们再来看下wcf有哪些契约。 wcf的四种契约,我给他按使用的优先级拍个序吧,Service Contract是必不可少的也是必须的,Data Contract 也是常会用到的,用来定义通信结构体,但是没有这个,我们使用基础类型也... 阅读全文
posted @ 2013-06-16 14:40 广林 阅读(2035) 评论(0) 推荐(0) 编辑