2014-08-28 3657 views
2

我目前正试图将我们的C++ mfc解决方案从visual studio 2010升级到visual studio 2013解决方案。当我尝试构建它时,出现错误MSB4018“ResolveComReference”任务意外失败。我启用了融合记录,这就是它告诉我:MSB4018“ResolveComReference”任务意外失败

=== Pre-bind state information === 
LOG: DisplayName = System 
(Partial) 
WRN: Partial binding information was supplied for an assembly: 
WRN: Assembly Name: System | Domain ID: 1 
WRN: A partial bind occurs when only part of the assembly display name is provided. 
WRN: This might result in the binder loading an incorrect assembly. 
WRN: It is recommended to provide a fully specified textual identity for the assembly, 
WRN: that consists of the simple name, version, culture, and public key token. 
WRN: See whitepaper http://go.microsoft.com/fwlink/?LinkId=109270 for more information and common solutions to this issue. 
LOG: Appbase = file:///C:/Program Files (x86)/MSBuild/12.0/bin/ 
LOG: Initial PrivatePath = NULL 
Calling assembly : Microsoft.Build.Tasks.v12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a. === 
LOG: This bind starts in default load context. 
LOG: Using application configuration file: C:\Program Files (x86)\MSBuild\12.0\bin\MSBuild.exe.Config 
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. 
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). 
LOG: Attempting download of new URL file:///C:/Program Files (x86)/MSBuild/12.0/bin/System.DLL. 
LOG: Attempting download of new URL file:///C:/Program Files (x86)/MSBuild/12.0/bin/System/System.DLL. 
LOG: Attempting download of new URL file:///C:/Program Files (x86)/MSBuild/12.0/bin/System.EXE. 
LOG: Attempting download of new URL file:///C:/Program Files (x86)/MSBuild/12.0/bin/System/System.EXE. 

我理解的MSBuild已被移动,但我不明白为什么它正在试图寻找System.dll中的MSBuild的路径,我怎样才能使它在适当的位置寻找它?


编辑: 我现在也尝试升级到的Visual Studio 2012,其工作没有大的问题,我没有遇到同样的问题。但是我注意到,在运行devenv/upgrade(使用vs2013)时,它似乎彻底改变了vC++目录下的所有内容(升级到vs2012时保持不变)。这可能与这个问题有关吗?


EDIT2: 试了一下升级到2012年后建造在vs2013项目(不运行devenv的/升级),这也没有工作,所以我想这个问题是不相关的那...

回答

3

启用diagonostic构建输出后,我发现它是3个失败的COM项目引用加载失败。删除这些参考解决了建设问题。这些只在vs2010中显示为警告,但由于某些原因导致MSB4018在vs 2013中出现。

0

这是你的问题:

LOG: Appbase = file:///C:/Program Files (x86)/MSBuild/12.0/bin/ 

修正了在构建系统的基础文件夹,如果你真的需要它指向另一个的Filder。但是,重做您可能会更好地构建系统定位2013,而不是修补2010版本。

+0

直奔微软网站可能是你最好的选择。 http://msdn.microsoft.com/en-nz/library/ms252495.aspx – BlamKiwi 2014-09-01 08:21:57

相关问题