.Net Framework

未处理的异常:system.io.file load exception:无法加载文件或程序集“ 。。。。 找到的程序集的清单定义与程序集引用不匹配。

我们两清 提交于 2020-12-20 23:07:08
问题描述: 添加控制器的时候,突然就报了这个错: Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'C:\Users\.nuget\packages\microsoft.visualstudio.web.codegeneration.design\3.1.0-preview1-19509-03\lib\netstandard2.0\dotnet-aspnet-codegenerator-design.dll'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 前几天一直都正常的,我检查了配置和nuget包完全是匹配的,一脸懵逼。 1、项目用的是.net core 2.2 ,我觉得应该是版本的问题,以前Microsoft.VisualStudio.Web.CodeGeneration.Design 应该是2.2.4的版本,不知道为啥现在是3.1.0了,然后就降低了版本到2.2.4,然而还是一样的错。 2、之后把Microsoft.VisualStudio.Web

Java基础知识(三)——面向对象(上)

折月煮酒 提交于 2020-12-20 03:06:45
类和对象 对一个类定义而言,可以包含三种最常见的成员:构造器、成员变量、方法,类里各成员之间的定义顺序没有任何影响,可以互相调用,但是static修饰的成员不能访问没有static修饰的成员。 static修饰的方法和成员变量,即可通过类来调用,也可通过实例来调用。没有使用static修饰的方法或成员变量只能通过实例来调用。 static修饰的成员表明他属于这个类本身,而不是属于该类的单个实例,因此通常把static修饰的成员变量称为类变量(静态变量)、类方法(静态方法)。 static 真正的作用是区分成员变量、方法、内部类、初始化块这四种成员到底属于类本身还是属于实例(相当于一个标志)。 成员变量用于定义该类或该类实例所包含的状态数据,方法则用于定义该类或该类实例的行为特征或者功能实现。构造器用于构造该类的实例,Java语言通过new关键字来调用构造器,从而返回该类的实例。 构造器是一个类创造对象的根本途径,如果一个类没有构造器,这个类通常无法创建实例。因此如果程序员没有为一个类编写构造器,则Java语言会为该类提供一个默认的构造器,反之,则不提供。 成员变量的语法格式: [修饰符] 类型 成员变量名 [= 默认值]; 修饰符:public、protected、private、static、final,可以与static、final组合起来修饰成员变量。

每个人都应该知道网站建设的制作流程与方法!

ぐ巨炮叔叔 提交于 2020-12-19 23:19:23
企业网站是客户获悉众多信息的主要渠道之一,个人网站是专业领域的精华呈现,而网站的建设与维护,其实是行业及个人的梦想延伸,一个更为宽广的世界就此形成。尤其是在互联网转型期间,掌握网站建设的流程与方法,对于实现全网联动互通、营销推广等,都具有特别重要的意义。 简而概之,从网站建设的起点开始,一条新时代的起跑线正清晰呈现。想获取客户增量?建设网站!想掌握客户信息?建设网站!想吸引更多流量?网站建设!想实现全网覆盖?网站建设! 在以网站建设为核心的PC站点、移动站点、微信站点、APP等多端模式形成后,全面的生态发展才算迈出第一步,先进的智能营销才是落在实处,梦想的舞台才算初具规模! 1、网站建设的定义 网站建设是指使用标识语言(markuplanguage),通过一系列设计、建模、和执行的过程将电子格式的信息通过互联网传输,最终以图形用户界面(GUI)的形式被用户所浏览。简单来说,网页设计的目的就是产生网站。简单的信息如文字,图片(GIF,JPEG,PNG)和表格,都可以通过使超文件标示语言、可扩展超文本标记语言等标示语言放置到网站页面上。而更复杂的信息如矢量图形、动画、视频、声频等多媒体档案则需要插件程序来运行,同样地它们亦需要标示语言移植在网站内。 2、网站建设流程 那么,网站建设制作的流程与方法有哪些?如何掌握最全面、先进的建站技术与信息呢? 许多企业及个人都迫切地想拥有自己的网站

T-SQL | 逻辑查询处理内幕学习

旧时模样 提交于 2020-12-19 18:04:13
【T-SQL 】 | 作者 / Edison Zhou 这是 EdisonTalk 的第 296 篇学习分享 T-SQL是ANSI和ISO SQL标准的MS SQL扩展,其正式名称为Transact-SQL,但一般程序员都称其为T-SQL。本文是我学习《T-SQL查询》一书的读书笔记,为你讲解逻辑查询的内幕 。 1 逻辑查询处理的各个阶段 流程总览 阶段解释 (1)FROM:标识出查询的来源表,处理表运算符。每个运算符会应用一系列的子阶段。eg.在JOIN连接运算中涉及的阶段是笛卡尔积、ON筛选器和添加外部行。FROM阶段会生成一个虚拟表,这里暂定为VT1。 (1-J1)笛卡尔积:对涉及到的两个表执行笛卡尔积(交叉联接),生成虚拟表VT1-J1。 (1-J2)ON筛选器:对VT1-J1中的行根据ON子句中出现的谓词进行筛选。只有让该谓词取值为TRUE的行,才能插入到VT1-J2中。 (1-J3)添加外部行:如果指定了OUTER JOIN(相对于CROSS JOIN或INNER JOIN),则将保留表(Preserved Table)中没有找到匹配的行,作为外部行添加到VT1-J2中,生成VT1-J3。 (2)WHERE:根据在WHERE子句中出现的谓词对VT1中的行进行筛选。只有让谓词计算结果为TRUE的行,才会插入VT2中。 (3)GROUP BY:按照GROUP

Java多线程开发系列-线程活性故障

China☆狼群 提交于 2020-12-19 16:41:49
由资源稀缺性或者程序自身的问题和缺陷导致线程一直处于非Runnable状态,或者线程虽然处于Runnable状态但是其要执行的任务却一直无法进展的故障现象。 有4种情况 死锁 锁死 饥饿 活锁 死锁 如果线程A持有锁L并且想获得锁M,线程B持有锁M并且想获得锁L,那么这两个线程将永远等待下去,这种情况就是最简单的死锁形式。 在数据库系统的设计中考虑了监测死锁以及从死锁中恢复,数据库如果监测到了一组事务发生了死锁时,将选择一个牺牲者并放弃这个事务。Java虚拟机解决死锁问题方面并没有数据库这么强大,当一组Java线程发生死锁时,这两个线程就永远不能再使用了,并且由于两个线程分别持有了两个锁,那么这两段同步代码/代码块也无法再运行了----除非终止并重启应用。 死锁是设计的BUG,问题比较隐晦。不过死锁造成的影响很少会立即显现出来,一个类可能发生死锁,并不意味着每次都会发生死锁,这只是表示有可能。当死锁出现时,往往是在最糟糕的情况----高负载的情况下。 例子 public class DeadLock { private final Object left = new Object(); private final Object right = new Object(); public static void main(String[] args) { DeadLock dl =

C# 数据操作系列

↘锁芯ラ 提交于 2020-12-19 15:43:54
0.前言 在上一篇中初略的介绍了一下SQL的基本写法,这一篇开始我们正式步入C#操作数据库的范围。通过这一系列的内容,我想大家能对于数据库交互有了一定的认识和基础。闲话不多说,先给大家介绍一个C#操作数据库的方式。 1. ADO.NET的介绍 在ADO.NET出现之前,C#连接数据库有很多种方式,各种框架琳琅满目。用户们饱受困扰,再加上乱七八糟的连接方式对语言的发展也是一种强有力的阻挠。所以微软决定搞一套标准化出来,之后ADO.NET诞生了。 ADO.NET定义了一系列操作数据库的接口和基类,而数据库厂商只需要根据自己的实际情况开发对应的实现类就可以了。 2. 使用ADO.NET 操作需要的步骤 使用ADO.NET操作数据库,先需要一个连接也就是 IDbConnection实例,然后使用IDbCommand执行,通过 IDataReader读取数据。 先来简单介绍一下上面提到的接口: a.IDbConnection 表示一个与数据源的开放连接,并由访问关系数据库的.NET 数据提供程序实现,也就是说这只是一个接口,具体的实现得看具体的数据库。 我们先看一下,具体的属性和方法吧: public string ConnectionString { get ; set ; } // 获取或设置用于打开数据库的连接字符串 public string Database { get ; } /

Dapr微服务应用开发系列0:概述

醉酒当歌 提交于 2020-12-19 14:51:04
题记:Dapr是什么,Dapr包含什么,为什么要用Dapr。 Dapr是什么 Dapr( D istributed Ap plication R untime),是微软Azure内部创新孵化团队的一个开源项目,皆在解决微服务应用开发过程的一些共性问题。以官方文档的说法,Dapr是一个可移植、事件驱动的运行时,让企业开发者更容易利用各种语言和框架构建柔性、无状态和有状态的微服务应用,并运行在云端和边缘。 Dapr的核心由Go语言写成,开发团队一开始有计划使用.NET Core/C#来写,但是考虑到社区的接受程度,遂最终选定Go作为开发语言。当然,还是可以使用任何语言和框架来编写Dapr的扩展功能。由于Dapr要解决的问题确实是大家面临的一些痛点,并且Dapr的设计也独树一帜,所以一经开源,就成为GitHub上Star增长最快的开源项目之一,甚至达到5K Star的速率超过了Kubernetes。 Dapr包含什么 Dapr做的事情很简单,就是利用Sidecar的模式,把代码中的一些横切关注点需求(Cross-cutting)分离和抽象出来,从而达到 运行环境的独立 和 对外部依赖(包括服务之间)的独立 。 这种独立的途径就是使用开放协议(HTTP和gRPC)来代替依赖特定协议。如下图所示: 从上图我们可以看到,使用Dapr开发的微服务应用理论上可以部署到任意的云提供商、边缘设备

Dapr微服务应用开发系列2:Hello World与SDK初接触

谁说我不能喝 提交于 2020-12-19 13:53:04
题记:上篇介绍了Dapr的环境配置,这次我们来动手尝试一下Dapr应用的开发 Hello World Dapr应用的Hello World其实和其他的Hello World一样简单: 首先用你喜欢的语言和框架创建一个Hello World程序。比如在.NET 5下,就可以简单的这样实现 dotnet new console -o dapr-hello-world 只是运行这个Hello World不是直接启动程序,而是通过Dapr来启动: dapr run --app-id hello-dotnet-dapr -- dotnet run 上面这个命令,通过传入一个app-id参数来指明这个Dapr应用的名称为“hello-dotnet-dapr”,当然你也可以忽略这个参数,那么Dapr会自动分配一个(如docker运行容器实例那样) 而“--”之后就是应用程序本身的启动命令行 PS:对于dapr run更多的帮助信息,可以通过 dapr run --help 来查看 服务调用的Hello World 接下来,我们来做一个服务调用的Hello World。我还是基于.NET 5中的ASP.NET Core来作为开发框架: 在命令行中输入如下命令来创建一个ASP.NET Core的Web API项目: dotnet new webapi -o dapr-service

合并dll文件

喜夏-厌秋 提交于 2020-12-19 10:34:25
在使用VS进行.Net编程时,出现了一个奇怪的现象。 在一个类库项目中导入了dll库A后,再导入A的两个依赖项(dll库)B和C,执行“生成”操作时,出现错误信息,提示B和C的库版本与A所需的不一致。在应用程序中,可以编写app.config来指定B和C的版本,但在类库项目中并不自动识别app.config。 因此,如何指定A所需的B和C版本成为一个问题(仍未解决)。 后来,发现可以将ABC三个库进行合并,这样,A就不会缺少依赖库了。使用ILMerge后测试成功。可以参考:https://www.cnblogs.com/codedreams/p/5295082.html 摘录部分: 1、先下载最新的 ILMerge 工具安装包: ILMerge是合并.net的assembly的工具,最新版的支持.net 4.0的ILmerge下载: http://www.microsoft.com/downloads/details.aspx?FamilyID=22914587-b4ad-4eae-87cf-b14ae6a939b0&displaylang=en ILMerge用法示例如下: ILMerge.exe /target:library /targetplatform:v4 /out:"E:\Projects\ILMergeTest\A\Ref\AandB4.dll" "E: