关于vs重新生成出现“错误 CS0006: 未能找到元数据文件”.

本文介绍了在使用VS2005 Team Suite进行项目重建时遇到“错误CS0006:未能找到元数据文件”的现象及原因分析。通过深入探讨MSBuild的工作机制,揭示了这一错误与项目间依赖关系和输出目录位置之间的联系,并给出了具体的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:
windows server 2003 enterprice edition
vs2005 team suite

现像:
解决方案重新生成,项目重新生成出现“错误 CS0006: 未能找到元数据文件”。


 

原因:
经过跟踪,MSBuild的机制是:
    当重生新生成解决方案或项目时,生成项目会先清除输出目录下的全部生成文件(注意:是全部).然后copy obj目录下的生成文件到输出目录.


   
所以当某项目输出目录位于其它项目目录下,并且输出目录所在的项目输出目录也在本项目目录下.当重生新生成解决方案或输出目录所在的项目时会清除输出目录下的所有生成文件.这时当输出目录所在的项目对其它输出目录在本项目目录的项目存在依赖关系,那么当csc引用将会出现“错误 CS0006: 未能找到元数据文件”;
经过测试,输出目录不在项目目录内时,生成项目只会清除自已的生成文件,而不会清除依赖项目生成文件。问题解决


结论:
   
如果采用公用目录重新生成解决方案或项目并且项目间存在依赖关系,项目之间有依赖与被依赖关系时,输出目录不能位于依赖项目目录内。

转载于:https://www.cnblogs.com/dongzeli/archive/2007/01/24/629120.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值