
这个明显是因为程序运行时没有找到
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加载程序集等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)