Откройте файл .csproj
(или .vbproj
файл) и найдите ссылку на сборку.Затем убедитесь, что путь подсказки все еще действителен на вашем сервере сборки.Иногда VS2010 добавляет абсолютный путь подсказки вместо использования одного относительно самого файла .csproj
, поэтому буква диска может быть недопустимой на другом компьютере.
Например, ссылка может выглядеть аналогично приведенной ниже (я составил весь приведенный ниже XML только для иллюстрации, и он НЕ действителен), а абсолютный путь подсказки может быть недопустим на сервере сборки (например,там нет буквы диска d ):
<Reference
Include="SmartAssembly.Attributes, Version=8.0.0.0,
Culture=neutral, PublicKeyToken=b03f1f7f1ad5da3a,
processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<Private>true<Private>
<!-- The HintPath below should exist and be valid in your build server -->
<HintPath>d:\temp\SmartAssembly.Attributes.dll<HintPath>
</Reference>
Вы можете изменить HintPath, чтобы он соответствовал файлу .csproj
и, следовательно, был более общим.Например:
<HintPath>..\libs\SmartAssembly.Attributes.dll<HintPath>
Другая проблема может заключаться в том, что <Private>true<Private>
там нет.Этот атрибут сопоставлен со свойством CopyLocal
в Visual Studio, поэтому, если он отсутствует в вашем .csproj
, библиотека DLL не будет скопирована в bin\Debug
или bin\Release
MSBuild.См http://bronumski.blogspot.com/2009/06/project-reference-fun-and-games.html