首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Visual无法加载文件或程序集;是否缓存?

Visual无法加载文件或程序集;是否缓存?
EN

Stack Overflow用户
提问于 2013-08-27 15:15:26
回答 2查看 2.7K关注 0票数 1

当我运行单元测试来序列化到xml文件时,我一直收到错误消息:

无法加载文件或程序集“Company.Fin.Bank.Common.XmlSerializers.dll、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null”或其依赖项之一。系统找不到指定的文件。

我想Company.Fin.Bank.Common.XmlSerializers.dll可能在缓存的某个地方,但是不可能找到这个dll,即使我不需要那个dll。我想移除它。但我在哪里能找到它呢?它可能在缓存中吗?如果是,我如何从VS中清除缓存?这个问题对我来说是很新的。

奇怪的是,我使用了另一台笔记本电脑(win 7)来运行单元测试,没有收到错误消息--它起了作用。但是当我使用我自己的笔记本电脑(win 8)时,我总是收到错误信息。我不知道为什么。

我希望从你那里找到解决办法。你的帮助意味着很多。谢谢!

EN

回答 2

Stack Overflow用户

发布于 2013-08-27 15:37:31

该程序集是由框架( 动态,XMLSerializer)生成的

在.Net实现中,XmlSerializer生成一个临时程序集,用于序列化/反序列化类(出于性能原因)。

而且,这可能是正常 行为 -它是否阻止您的应用程序运行?

票数 3
EN

Stack Overflow用户

发布于 2013-08-27 15:27:00

即使我不需要那个dll

Visual通常会删除不需要的DLL。通常,这是由依赖关系引起的(这很难跟踪)。

我想移除它。

在解决方案资源管理器中签入项目的引用。如果它们中的任何一个有一个黄色三角形,就意味着找不到它们(如果您没有实际使用该引用,项目仍然可以编译和运行)。

它可能在缓存中吗?

正如Daniel提到的,C:\Windows\assemblyC:\Windows\Microsoft.NET\assembly位于全局程序集缓存的位置。如果没有,请检查引用的提示路径(它将显示在Properties中)。

祝您能找到引用,请记住,在大多数情况下,您不仅需要实际的DLL,而且需要它的所有使用的引用。另外,如果您需要一种更谨慎的方法来查看引用,像DotPeek这样的反编译器可能会很有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18469419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档