Конфликт справочной версии сборки Visual Studio из-за того, что для конкретной версии задано значение False - PullRequest
3 голосов
/ 23 марта 2012

У меня есть решение со многими проектами. В Visual Studio 2010 при щелчке свойств для ссылки на сборку отображается более новая версия по сравнению с действительной ссылкой в ​​файле csproj.

В частности, файл csproj имеет:

<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll</HintPath>
</Reference>

Но VS2010 связывает и отображает версию 4.0.0.0 явно из-за <SpecificVersion>False</SpecificVersion>

Нужно ли вручную обновлять каждую ссылку на сборку в каждом проекте ??? удалив и повторно добавив 3.0.0.0?

Есть ли способ найти и заменить все файлы .csproj за одну операцию?

1 Ответ

1 голос
/ 01 апреля 2012

Вы хотите, чтобы ваши сборки снова имели эталонную версию 3.0.0.0? Если это так, то вам просто нужно установить SpecificVersion в значение true для всех проектов, которые ссылаются на сборку. Это можно сделать из ссылок проекта, используя свойства для ссылки.

Вы также можете сделать это, отредактировав файлы csproj в текстовом редакторе и удалив «False» из сборок, на которые вы хотите сослаться на 3.0.0.0, так как значение по умолчанию равно true.

Если вы хотите сделать это только для конкретной сборки, то я ожидаю, что это будет ручной процесс, поскольку я не знаю инструмента, который поможет это сделать.

Если вы хотели установить для конкретной сборки значение true для всех сборок во всех ваших проектах, то вы можете найти и заменить в файлах проекта замену «False» на «».

...