记错本--定期修改
错误记录:
1,web运行时报错:缺少xx.dll,先看下在bin文件里是有相应的dll。
2,Activator.CreateInstance(targetType),必须要有一个无参的构造函数。
3, 找错误的地方,仔细点看清每一个步骤。。
4, web项目,xml文件,属性选择是始终复制才行
5,如果想在异步方法暂停一会,不要用thread.sleep(),会阻塞线程,使用await task.delay()
6.在controller中有一个自带的参数,可以判断异步任务是否提前结束:
public async Task<IActionResult> Index(CancellationToken cancellationToken) { await DownLoadAsync("https://www.baidu.com", 100, cancellationToken); return View(); }
7.接口中不能使用async.具体实现类中可以加
8.Renci.SshNet。sft推荐使用。
9.dapper批量插入,只需传入list集合就行,注意参数要和属性名保持一致。
10.Actoin a = delegate(){console.write("111")}
11选择合适的方法,不要避免出现异常。比如肯定有一条数据,用single。报错是因为其他地方有问题。提早发现,提早改正
12.读懂题意:
var result = "fdgsfsder,3wewf,sfdasdfgg".Where(w => char.IsLetter(w)).GroupBy(x => x.ToString().ToLower()).Select(s => new { name = s.Key,count = s.Count()}).OrderByDescending(x => x.count); foreach (var item in result) { Console.WriteLine("字母:"+item.name+",数量:"+item.count); }
13,在.NET4.5以前,对于GenericIdentity只要设置它的Name的时候IsAutheiticated就自动设置为true了,而对于ClaimsIdentity是在它有了第一个Claim的时候。在.NET4.5以后,我们就可以灵活控制了,默认ClaimsIdentity的IsAutheiticated是false,只有当我们构造函数中指定Authentication Type,它才为true。也就是必须要指定Authentication Type。否则还是认证不通过的。
14:Sharepoint项目编译错误,提示在.NETFramework4.0中无法解析System.Net.Http的问题
Windows更新安全补丁后,原本的Sharepoint项目无法编译通过。提示如下错误
未能解析主引用“Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL”,因为它对框架程序集“System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”有间接依赖关系,而在当前目标框架中未能解析该程序集。“.NETFramework,Version=v4.0”。若要解决此问题,请移除引用“Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL”,或将应用程序的目标重新指向包含“System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的框架版本。
重新引用对应的dll无效。
最终确定错误是由于安装某些程序或补丁将“System.Net.Http.dll” 删除导致的。
猜测原因:
原本在如下目录应该有“System.Net.Http.dll”
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
打开文件夹发现“System.Net.Http.dll” 不存在。返回上一级 目录如下:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5
解决方法:
在上级目录中v4.5内,找到“System.Net.Http.dll”。将v4.5的“System.Net.Http.dll”拷贝v4.0中,重新编译项目,顺利通过。
同样的问题:提示 System.Web.Http.dll等错误,应该都是系统误删dll导致的。在同级目录中找到同名文件复制过来即可。
15.VS2019 打包不支持.Net Framework 4.0问题解决方案
方法:
如果不想在网上去找.net framwork4.0的库,就直接下载安装一个vs2010版,
在vs2010中,.net framwork4.0必备的组件目录:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages
选中这几个目录复制一下,粘贴到 打开vs2019的.net framwork4.0必备的组件目录:红色的是粘贴后的
C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages
总结:理解.net framwork4.0组件的原理,直接从低版本vs2010组件复制到高版本vs2019即可,从而vs2019也支持.net framwork4.0了