VS2008 未能加载文件或程序集的问题

VS2008 未能加载文件或程序集的问题,第1张

这个明显是因为程序运行时没有找到

net35

的那个dll,

安装一下35的

Framework

就可以了,默认位置在:

C:\Program

Files

(x86)\

Reference

Assemblies\Microsoft\Framework\v35\SystemXmlLinqdll

如果不想装,直接把这个dll复制到程序目录下也可以

找不到哪个dll,就复制哪个dll,

或者在项目里找到引用下的这个dll,属性里的Copy

Local(中文是复制到本地),设置为true

说明你程序集名为 irrKlang 这个项目生成出错了,如果你解决方案里就这么一个项目,那么先清理一下解决方案,再生成。

如果你解决方案里有多个项目,且 irrKlang 引用了其他项目,那么好好检查其他项目生成是不是都正确了。

我们运行一个NET应用程序或者一个运行库宿主时,OS会首先建立一个进程,然后会在进程中加载CLR(这个加载一般是通过调用_CorExeMain或者_CorBindToRuntimeEx方法来实现),在加载CLR时会创建一个默认的AppDomain,它是CLR的运行单元,程序的Main方法就是在这里执行,这个默认的AppDomain是唯一且不能被卸载的,当该进程消灭时,默认AppDomain才会随之消失。

一个进程中可以有多个AppDomain,且它们直接是相互隔离的,我们的Assembly是不能单独执行的,它必须被加载到某个AppDomain中,要想卸载一个Assembly就只能卸载其AppDomain。

一旦Assembly被调用,在调用之前会将程序集加载到默认AppDomain,然后执行,我们就会遇到这个问题:如果我需要做替换或者删除Assembly等这些 *** 作的时候,由于Assembly已经被默认AppDomain加载,那么对它的更改肯定是不允许的,它会d出这样的错误:

有两个原因:1、你使用系统清理工具将该文件删除;2、你该文件被杀毒软件隔离;解决方法:在zatto软件安装目录中搜索-》找到该文件,根据其在安装文件夹中的路径将该文件拷贝到系统目录中。例如在飞信2008中该文件的储存路径为“……\Fetion\VMDotNet\v2050727\C\WINDOWS\assembly\GAC_32\mscorlib\2000__b77a5c561934e089”则将“WINDOWS”文件夹及其子目录中的文件全部拷贝到C盘即可。

这个问题很类似

第一步:首先将msvcr71dll,

sqldmodll,

resources/2052/sqldmorll,resources/1033/sqldmorll

拷贝到c:/program

files/microsoft

sql

server/80/tools/binn目录。

下载sqldmo文件

第二步:打开开始,在运行中输入

regsvr32

"c:/program

files/microsoft

sql

server/80/tools/binn/sqldmodll"

注册sqldmodll。

未能加载文件或程序集“Common, Version=1000, Culture=neutral, PublicKeyToken=89f8270e9bca6ef0”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

如果你的framework为35,升级framework为35sp1,重启机器~

>

以上就是关于VS2008 未能加载文件或程序集的问题全部的内容,包括:VS2008 未能加载文件或程序集的问题、c#调试出错,提示未能加载文件或程序集、如何使用AppDomain加载程序集等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9462428.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存