未找到元数据文件

这是一个经常遇到的编译问题,触发原因也可能有多种,此次记录的是其中一种情况。

环境描述,原有一个解决方案A,其中含两个项目,项目1引用了项目2(引用项目,并非引用dll文件),项目2的编译目标路径并非默认bin文件夹路径。这样的话项目1在进行编译时,会先找项目2所设置的编译路径,再从此该编译路径下找到项目2的dll文件。

创建一个解决方案B,在其中创建一个项目3,然后通过新增已有项目,将项目1加入到该解决方案中,然后将项目3引用项目1,之后进行编译,就会遇到“未找到元数据文件”的问题。

原因,因为项目3引用了项目1,所以在编译时会优先编译项目1,又因为项目1引用了项目2,所以项目1会在编译时,寻找所依赖的项目2的编译结果,但项目1对项目2的引用设置是解决方案A设置的[引用项目]模式,而解决方案B中并没有将项目2加入进来,这就导致解决方案B并不能知道项目2所设置的目标编译路径是什么,只能根据项目1的引用信息到项目2的默认编译路径,也就是bin文件夹下去找,这自然是找不到的,所以就报出了编译错误。

解决方法有两种:

1、修改项目1对于项目2的引用为直接引用项目2的编译结果dll文件

2、通过解决方案B的新增已有项目功能将项目2加入到解决方案中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值