Преобразовал мой проект c ++ смешанный режим vs2008 в vs2010, не удалось найти сборку - PullRequest
0 голосов
/ 24 ноября 2011

После того, как я преобразовал свой проект смешанного режима vs2008 c ++ в vs2010, я получил эту ошибку.

предупреждение MSB3245: не удалось разрешить эту ссылку. Не удалось найти сборку "XYZ, версия = 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>

1 Ответ

0 голосов
/ 22 декабря 2011

Попробуйте добавить узел «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 на страницах свойств, MSBuild, похоже, распознает этот параметр и принимаетлюбая версия ссылочной библиотеки DLL, если для нее установлено значение false.

...