我正在WPF,C#3.0项目中工作,但出现此错误:

Error 1 Metadata file
'WORK=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug
\BusinessLogicLayer.dll' could not be found C:\-=WORK=- \Tools
\VersionManagementSystem\VersionManagementSystem\CSC VersionManagementSystem

这是我引用用户控件的方式:

xmlns:vms="clr-namespace:VersionManagementSystem"
<vms:SignOffProjectListing Margin="5"/>

它在每次构建失败后发生。 获得编译解决方案的唯一方法是注释掉所有用户控件并重新生成项目,然后取消注释用户控件,一切都很好。

我已经检查了构建顺序和依赖项配置。

如您所见,它似乎已经截断了DLL文件的绝对路径...我读到有一个长度错误。 这可能是问题吗?

这很烦人,不得不评论,构建和取消注释,构建变得非常累人。


#1楼

我也遇到了这个问题。 首先,您必须通过右键单击Build来手动构建DLL项目。 然后它将起作用。


#2楼

根据错误消息,我不认为文件路径被截断了。 它看起来不正确。 如果我正确阅读了该消息,则似乎是在寻找DLL文件。

WORK =-\\\\ Tools \\ VersionManagementSystem \\ BusinessLogicLayer \\ bin \\ Debug \\ BusinessLogicLayer.dll

这不是有效的路径。 是否有可能在构建过程中将宏定义设置为无效值?


#3楼

我只是有同样的问题。 Visual Studio并未构建被引用的项目。

书面说明:

  1. 右键单击解决方案,然后单击属性。
  2. 单击左侧的配置。
  3. 确保选中“工程”下找不到的项目复选框。 如果已选中,请取消选中,单击应用,然后再次选中复选框。
  4. (可选)必须在解决方案属性的发布和调试模式下都执行此操作。

屏幕截图说明:

  • 他们说,一张图片胜过千言万语。 单击GIF进行放大,希望它很容易遵循:


#4楼

对我来说,它试图在用于包含该项目的路径中找到一个DLL,但是我们将其移动到了新目录。 解决方案具有通往项目的正确路径,但是Visual Studio不知何故一直在寻找旧位置。

解决方案:重命名每个问题项目-只需添加一个字符或其他内容-然后将其重命名回其原始名称。

这必须在Visual Studio中重置某些某种类型的全局缓存,因为这样既可以清除此问题,也可以清除一些类似的问题,而诸如Clean之类的事情则不能。


#5楼

回到几年后,这个问题很可能与Windows最大路径限制有关:

命名文件,路径和命名空间最大路径长度限制


#6楼

就我而言,问题是我手动删除了一个未编译文件,该文件被标记为“缺少”。 一旦删除对丢失文件的引用并重新编译-一切都很好。


#7楼

在新版本的Visual Studio中仍然可能发生这种情况(我只是在Visual Studio 2013中发生过这种情况):

要尝试的另一件事是关闭Visual Studio并删除.sln文件旁边的.suo文件。 (下次您Save all (或退出Visual Studio)时,它将重新生成)。

在将新项目添加到另一台计算机上的解决方案中然后再.suo修订时,我遇到了这个问题,但是.suo文件在其他情况下也可能会损坏,并导致非常奇怪的Visual Studio行为,因此删除它是一个问题。我一直尝试的事情。

请注意,删除.suo文件将重置解决方案的启动项目。

有关.suo文件的更多信息, .suo 点击这里 。


#8楼

好吧,我的答案不仅是所有解决方案的摘要,而且还提供了更多的解决方案。

第(1)节:

一般解决方案:

我遇到了四个此类错误(“找不到元数据文件”)以及一个错误,提示“无法打开源文件(“未指定错误”)”。

我试图摆脱“找不到元数据文件”错误。 为此,我阅读了许多帖子,博客等,发现这些解决方案可能是有效的(在此处进行总结):

  1. 重新启动Visual Studio,然后尝试再次构建。

  2. 转到“解决方案资源管理器” 。 右键单击解决方案。 转到属性 。 转到“配置管理器” 。 检查是否选中了“构建”下的复选框。 如果未选中任何一个或全部,请检查它们并尝试再次构建。

  3. 如果上述解决方案不起作用,请按照上面第2步中提到的顺序进行操作,即使所有复选框都已选中,也请取消选中它们,然后再次检查并尝试再次构建。

  4. 建立订单和项目依存关系:

    转到“解决方案资源管理器” 。 右键单击解决方案。 转到“项目依赖项...” 。 您将看到两个选项卡: 'Dependencies''Build Order' 。 此构建顺序是解决方案的构建顺序。 检查项目依赖性和构建顺序,以验证是否有依赖于其他项目(例如“ project2”)的某个项目(例如“ project1”)在该项目(project2)之前尝试构建。 这可能是导致错误的原因。

  5. 检查缺少的.dll的路径:

    检查丢失的.dll的路径。 如果路径包含空格或任何其他无效的路径字符,请将其删除并尝试再次构建。

    如果这是原因,则调整构建顺序。


第(2)节:

我的特殊情况:

我尝试了上述所有步骤,并进行了各种排列和组合,并重新启动了Visual Studio几次。 但是,它没有帮助我。

因此,我决定摆脱遇到的其他错误(“无法打开源文件((未指定错误”)”))。

我遇到了一篇博客文章: TFS错误-无法打开源文件(“未指定错误”)

我尝试了该博客文章中提到的步骤,并且摆脱了错误“无法打开源文件(未指定错误”),并且令人惊讶地我摆脱了其他错误(“找不到元数据文件”) ,好。


第(3)节:

故事的道德启示:

尝试使用上面第(1)节中提到的所有解决方案(以及任何其他解决方案)以消除错误。 如果没有解决办法,请按照上面第(2)节中提到的博客, 从.csproj文件中删除源控件和文件系统中不再存在的所有源文件的条目


#9楼

对我来说,以下步骤有效:

  • 查找未构建的项目
  • 删除/添加对解决方案中项目的引用。

#10楼

我的问题实例是由一个普通项目引起的,该项目中有重复的类名(使用不同的文件名)。 奇怪的是Visual Studio无法检测到它,而只是炸毁了构建过程。


#11楼

我在具有许多项目的解决方案中的Visual Studio 2012中遇到了此问题。 以与项目构建顺序相同的顺序手动重建解决方案中的每个项目(在解决方案资源管理器中右键单击并重建),为我修复了该问题。

最终我遇到了一个编译错误。 我已修复错误,此后解决方案将正确构建。


#12楼

嗯,以前的答案对我没有任何帮助,所以让我开始思考为什么我要单击并希望作为开发人员的我们何时真正尝试了解这里发生的情况。

对我来说,很明显,这个不正确的元数据文件引用必须保存在某个地方。

对.csproj文件的快速搜索显示了罪状。 我有一个名为<itemGroup>的节,它似乎挂在了旧的不正确的文件路径上。

<ItemGroup><ProjectReference Include="..\..\..\MySiteOld\MySite.Entities\MySite.Entities.csproj"><Project>{5b0a347e-cd9a-4746-a3b6-99d6d010a6c2}</Project><Name>Beeyp.Entities</Name></ProjectReference>
...

因此,确实有一个简单的解决方法:

  1. 备份您的.csproj文件。
  2. 在.csproj文件中找到错误的路径,然后适当地重命名。

拨弄之前,确保备份旧的.csproj


#13楼

如果您使用假程序集,则可能会显示此错误。 消除伪造品可以成功构建项目。


#14楼

我也想尽办法解决这个问题,但是在尝试了前面的答案之后,对我而言唯一有效的方法是打开解决方案中的每个项目(1比1)并分别构建它们。

然后,我关闭了Visual Studio 2013,重新打开了我的解决方案,并且编译良好。

这很奇怪,因为如果我在解决方案资源管理器中单击每个项目并尝试以这种方式构建它们,它们都会失败。 我不得不在他们自己的解决方案中单独打开它们。


#15楼

就我而言,我的安装目录有误。

如果您的解决方案路径类似于“我的项目%2c非常受欢迎的%2c单元测试%2c软件和硬件.zip”,则它无法解析元数据文件,也许我们应该防止使用诸如%2c之类的无效单词。

将路径重命名为普通名称解决了我的问题。


#16楼

我正在运行Visual Studio 2013。

似乎构建依赖项不正确。 删除* .suo文件确实解决了我遇到的问题。


#17楼

关闭并重新打开Visual Studio 2013对我有用!


#18楼

如果您的解决方案名称中有空格,这也会引起问题。 从解决方案名称中删除空格,以便路径不包含%20即可解决此问题。


#19楼

只是指出最明显的一点:如果您没有启用“构建开始时显示输出窗口”,请确保您注意到构建失败(左下角的“构建失败”小错误)!!!!


#20楼

尝试发布Web应用程序时出现此错误。 原来,其中一个类属性被包装到

#if DEBUGpublic int SomeProperty { get; set; }
#endif

但财产用途不是。 显然,发布是在Release配置中完成的,没有DEBUG符号。


#21楼

就我而言,问题是由一个简单的构建错误引起的,

错误CS0067:从不使用事件“ XYZ”

无论出于何种原因,都没有显示在错误窗口中。

因此,Visual Studio生成系统似乎错过了该错误,并尝试构建依赖项目,而该项目因令人讨厌的元数据消息而失败。

该建议听起来很愚蠢:

首先看看您的输出窗口

这个想法花了我半个小时。


#22楼

就我而言,是我注释掉了特定(空)命名空间中的类:

namespace X.Y.Z.W
{// Class code}

当我删除名称空间代码及其导入(使用)命令时,它解决了该问题。

在构建中,它还说了-以及项目丢失的DLL文件:

错误CS0234:类型或名称空间名称“ W”在名称空间“ XYZ”中不存在(您是否缺少程序集引用?)


#23楼

我在解决方案中添加了一个新项目,并开始获取它。

原因? 我引入的项目针对的是另一个.NET框架(4.6,而我的另外两个是4.5.2)。


#24楼

建议的答案对我不起作用。 该错误是另一个问题的诱饵。

我发现我瞄准的是.NET稍有不同的版本,编译器将此标记为警告,但它导致构建失败。 应该将其标记为错误而不是警告。


#25楼

我遇到了同样的错误“找不到元数据文件'.dll'”,并且尝试了上述一些操作,但该错误的原因是我引用的是针对更高版本.NET版本的第三方DLL文件。我的项目目标是.NET版本。 因此解决方案是更改项目的目标框架。


#26楼

就我而言,这是由.NET Framework版本不匹配引起的。

一个项目是3.5,另一个引用项目4.6.1。


#27楼

我也有同样的错误。 它隐藏在下面的路径中。 我为DLL文件引用的路径类似于“ D:\\ Assemblies Folder \\ Assembly1.dll”。

但是程序集引用的原始路径是“ D:\\ Assemblies%20Folder \\ Assembly1.dll”。

由于此路径名的变化,无法从其原始路径检索该程序集,并因此引发“找不到元数据”错误。

解决方案在“堆栈溢出”问题中。 如何在C#中用%20替换所有空格?


#28楼

看起来这种错误与Visual Studio没有提供有关错误的正确信息这一事实有关。 开发人员甚至都不了解构建失败的原因。 可能是语法错误或其他错误。 通常,要解决此类问题,您应该找到问题的根源(例如,查看构建日志)。

就我而言,问题实际上是“ Error List窗口未显示任何错误。 但是确实有语法错误。 我在“ Output窗口中发现了这些错误,并在修复它们后,问题得以解决。


#29楼

对我来说,它发生在我将一个新项目包含到解决方案中时。

Visual Studio自动选择.NET Framework 4.5。

我像其他库一样更改为.NET 4.5.2版本,并且可以正常工作。


#30楼

我遇到了同样的问题。 以我为例,我引用的.Net版本比我的项目更高的类库项目,而VS无法构建该项目,并引发了与您发布的错误相同的错误。

我只需将类库项目的.Net版本 (破坏构建的项目)设置为与引用项目的.Net版本相同,即可解决问题。

找不到元数据文件“ .dll”相关推荐

  1. Cefsharp生成的项目在自己电脑上能打开,其他电脑上不行,提示找不到指定文件cefsharp.core.dll

    在自己电脑上生成的项目都能打开,但是在别的电脑上打开就提示,找不到指定文件cefsharp.core.dll 有两种原因 一种是dll没有复制过去,复制整个文件夹的文件过去就行 还有一种情况是目标计算 ...

  2. c++Error:c++调用python文件提示由于找不到python3.8.dll,无法继续运行。。。

    [写在前面] 今天在做C++调用python文件时发程序运行报错提示: "由于找不到python3.8.dll,无法继续运行..." [原因描述] 系统中缺少python3.8.d ...

  3. 未能找到元数据文件问题

    今天发现了一个问题,自己前做的项目前几天还好好的,今天突然打开就报错, 说未能找到元数据文件XXX.dll 看了网上的很多,各种论坛都看了,就是找不到解决方法. 首先第一步就是删除找不见的dll文件, ...

  4. 未能找到元数据文件解决办法

    今天在做一个项目的时候,遇到这样的一个问题,我用的是三层结构的.未能找到元数据文件"D:\SYSTEM\桌面\MyExam\MyExam\MyExamBLL\bin\Debug\BLL.dl ...

  5. IIS7配置PHP 报错 对找不到的文件启用文件监视

    原文 IIS7配置PHP5.4报错对找不到的文件启用文件监视怎么解决? 案例环境:windows2008+IIS7+PHP5.4+ZEND LOADER用户在配置后遇到报错:错误摘要 HTTP 错误 ...

  6. 编译器错误消息: CS0006: 未能找到元数据文件 System.EnterpriseServices

    编译器错误消息: CS0006: 未能找到元数据文件"C:\WINDOWS\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f ...

  7. vs2010找不到服务器,在服务器上找不到Crystal Reports dll部署VS2010应用程序

    我创建了一个小型c#应用程序,它打开一个水晶报表,将其保存为pdf,然后通过电子邮件发送.一切都很好.在服务器上找不到Crystal Reports dll部署VS2010应用程序 我试图将这个应用程 ...

  8. Win10玩游戏提示由于找不到xinput1 3.dll无法继续执行代码

    Win10玩游戏提示由于找不到xinput1 3.dll无法继续执行代码怎么办?一些用户使用电脑安装自己喜欢的游戏时,运行游戏的时候,遇到了错误提示.提示说缺少了一个xinput1 3.dll文件.其 ...

  9. winedt103系统找不到指定文件_win10专业版提示系统找不到指定文件的解决教程

    win10专业版提示系统找不到指定文件怎么办?使用电脑过程中,当你遇到提示错误"错误3:系统找不到指定路径",的问题时,可参照以下的方法进行解决.下面请看win10专业版提示系统找 ...

最新文章

  1. debugger 调试的一些经验
  2. 罗辑思维在全链路压测方面的实践和工作笔记
  3. 别被布线“老思想”拌倒
  4. 95% CI, 置信区间 Confidence Interval
  5. Vim键盘图/Vim快捷键
  6. VxWorks关于任务创建的几个函数的概述
  7. 怎么圆角变直角_衣柜设计个圆角有什么用?效果好看又实用,会这样装的都是老木工...
  8. 信息学奥赛C++语言:咪咪的智慧
  9. 驾校一点通电脑版客户端 v7.1 最新PC版
  10. java如何改变图片大小_如何在Java中调整图片大小?
  11. Android NFC 门票系统手机端程序简介
  12. iOS UITextField设置数字键盘
  13. 虚化背景(深度映射篇)
  14. pta 天梯赛的善良(C语言实现)
  15. 5.3 matlab数据插值(线性插值、最近点插值、埃尔米特插值、三次样条插值)
  16. 模块九:mouse、key、joystick模块
  17. (最简单)安装vmware-tools实现复制粘贴和文件复制粘贴
  18. 用Arduino读取HX711应变片专用模块
  19. antv/G6自定义边
  20. css3文字炫彩电音效果

热门文章

  1. 消息中间件原理及JMS简介之二
  2. Feature Extraction
  3. Java编程测试1M内存可用来缓存多少对象
  4. C++和JNI的数据转换
  5. [转]C++异常处理 12
  6. 关于数据库#1063 - Incorrect column specifier for column 'xxx'异常
  7. MongoDB Sharding 机制分析
  8. python 发送 smtp
  9. suse linux rpm 安装
  10. 全面分析男性护肤三大误区 - 生活至上,美容至尚!