将VS 2015移植到VS 2017 MSB8020:v140的构建工具未解决的问题

时间:2018-09-18 00:01:12

标签: visual-studio-2015 visual-studio-2017 porting

好吧,我有一个问题。我曾希望能在论坛中找到答案,但似乎没有一个是我真正需要的。

全新计算机,刚刚安装了VS2017(由于担心此类问题,以前的计算机从未更新过2015)。

从事此软件工作约一年。它有2个库,共3个项目文件。

现在,所有单个项目解决方案都在完美构建(无问题)。具有3个项目文件的解决方案解决方案生成错误; MSB8020:v140的生成工具。现在,我不打算倒退-因此,诸如install v140(在先前的问题中发现)之类的答案就不可能了。

隔离问题-库(A)没有依赖性。库(B)取决于库(A)。主代码(项目)同时使用两者。构建库(A)时-没有错误-构建库(B)时-出现MSB9020错误。

我验证了项目文件中的引用为v141,并在项目属性中进行了验证。是可能的-代码中的某些内容强制执行此操作-代码没什么花哨的(出于调试目的)。没有花哨的指令。

我可以在旧计算机上继续进行此项目。我正在考虑的是从头开始重建项目。我试图避免这种情况。

任何想法,将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

OKAY FOLKS-我找到了一个可行的工作。这不是答案(因为我相信答案意味着知道问题的原因并加以解决)。但是如果遇到这个问题,它将使一个人正常运转。

所有其他项目“解决方案”均有效。但是他们只有一个项目。这个有3个项目。首先遵循最简单的想法-我决定创建一个新的解决方案。因此,我创建了一个新文件夹,在其中复制了3个Project文件夹,并创建了一个空解决方案。我将现有项目添加到解决方案中,重新建立了依赖关系-降低并认为完整构建是成功的(并非没有一些无关的问题,但它确实有效)。

我将保留旧的解决方案在系统上-万一有人要我尝试另一个想法,以发现正在发生的事情。

格里普:这很愚蠢。我有新的警告-不存在-用户控制DLL表现愚蠢,这意味着我不得不花几天时间才能发现2015年与2017年之间的细微差别。微软告诉我们如何提高效率-有时会忽略这样做自己启动新版本时。向后兼容性总是存在一些问题。