Проект VS2010 - неразрешенные ссылки (где отсутствует свойство HintPath) - PullRequest
3 голосов
/ 19 мая 2011

Мы находимся в процессе изменения нашего сборочного компьютера на новый и одновременно на Visual Studio 2010. У нас есть около 500 различных небольших компонентов, каждый из которых имеет собственный файл csproj , все они имеют ссылки на сборки в каталоге "\ Framework \ bin \".

После получения всего исходного кода и начала компиляции наших проектов мы столкнулись с проблемой: невозможно разрешить многие ссылки, но не все, и не всегда одни и те же ссылки в разных проектах. Кажется, проблема связана с атрибутом HintPath файлов csproj .

В частности, вот пример для ссылки, которая может быть разрешена:

<Reference Include="AIS.Common, Version=8.1.0.1, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\..\Framework\Bin\AIS.Common.dll</HintPath>
</Reference>

А вот тот, который не может :

<Reference Include="AIS.ControlLib, Version=9.1.0.1, Culture=neutral, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
</Reference>

Странно, но свойства двух ссылок в Visual Studio абсолютно одинаковы (за исключением их имени и идентификаторов, конечно). Похоже, что HintPath генерируется автоматически, но почему только по некоторым ссылкам?

Мы подозреваем, что проблема может возникнуть из-за использования другой версии Visual Studio (из 500+ проектов, некоторые в VS2005, другие в VS2008, другие в VS2010), но мы не могли сузить поведение до чего-то логичного.

Есть ли способ скомпилировать наши проекты, не прибегая к ручному присоединению неразрешенных ссылок?

Ответы [ 2 ]

1 голос
/ 20 мая 2011

Для записи, после добавления следующего ключа в реестр, VS может разрешить наши ссылки:

Key:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework \ AssemblyFolders \ ProjectName
Стоимость:
"D: \ AIS \ Проекты \ Framework \ Bin"

Игра в реестре редко кажется правильным, но в нашей ситуации это решило проблему. Я все равно приму ответ, который бы пролил свет на все это.

0 голосов
/ 05 апреля 2016

В моем случае проблема заключалась в том, что в моем проекте указана целевая версия платформы .NET ниже , чем у ссылочных проектов.

...