将我的c++混合模式vs2008项目转换为vs2010,无法找到程序集



在我将vs2008 c++混合模式项目转换为vs2010后,我得到了这个错误。

警告MSB3245:无法解析此引用。无法找到程序集"XYZ, Version=3.0.0.0,....

Vs2008不关心正确的版本,是否可以从项目文件中的引用中删除版本属性(不可能从GUI中删除,但如果我在记事本中编辑似乎可以工作)?还是有更好的解决方案?

现在,我们需要在重建程序集XYZ时更新引用。

<Reference Include="XYZ, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null">
  <HintPath>..XYZ.dll</HintPath>
  <CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>
  <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
</Reference>

尝试添加一个"SpecificVersion"节点,使引用看起来如下:

<Reference Include="XYZ, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null"> 
  <HintPath>..XYZ.dll</HintPath>
  <SpecificVersion>false</SpecificVersion>
  <CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies> 
  <ReferenceOutputAssembly>true</ReferenceOutputAssembly> 
</Reference>

虽然它没有显示在vs2010 UI的属性页,MSBuild似乎认识到这个设置,并接受任何版本的引用dll时,它设置为false。

相关内容

最新更新