Ссылка TFS 2015 требуется для сборки

У меня проблема со сборкой с TFS 2015.

У меня есть простой проект, который ссылается на B.dll . B.dll использовать A.dll . Проект не ссылается на A.dll, так как не использует его сам.

A.dll и B.dll - это библиотеки DLL компании, хранящиеся в GAC.

[ошибка]LogistiqueTest\Index.aspx.vb(7,14): Ошибка BC30009: ссылка на сборку 'A.DII.Technique.Interfaces, версия =3.5.0.0, культура = нейтральная, PublicKeyToken=e60618ca32d203a8', содержащая реализованный интерфейс 'A.DII.Technique.Interfaces.IGestionException. Добавьте один в свой проект.

Это не имеет большого значения, просто отсутствует ссылка. Но мы не хотим добавлять ненужные ссылки в наши проекты. Более того, эта проблема не возникает с Visual Studio (Pro 2013)

Поэтому я отследил проблему и увидел, что: -> Visual Studio быстро получает ссылку (A.dll) после "вызова" этой строки.

Цель "CoreBuild: (TargetId:61)" в файле "C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets" из проекта "D:\AgentTFS_02_work\3\s\LogistiqueTest\" LogistiqueTest.vbproj" (от этого зависит цель"Build"):

Но TFS не использует тот же файл; это использовать

"C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets"

Разница между этими файлами в Microsoft.Common.CurrentVersion.targets, есть некоторый код для разрешения сборок.

Итак, мои вопросы: есть ли способ заставить TFS создать мое решение Visual Studio, как? Принудительно использовать другой целевой файл? Есть ли еще один способ решить эту сборку?

Я попытался добавить, как я видел во многих постах в Интернете, папку, содержащую все необходимые DLL-файлы, но TFS не пытается найти путь для A.dll .

Дополнительная информация: Исключение возникает при выполнении Vbc.exe, потому что при выполнении VS в командной строке есть файл A.dll в разделе / ​​import, а в случае TFS он не добавляется. Нет проблем с MSBuild.exe.

1 ответ

Решение

Я наконец нашел ответ:

http://www.nsilverbullet.net/2012/02/17/automatically-resolving-secondary-assembly-references-with-msbuild-and-tfs-build/

Мне нужно добавить это в файл proj, который имеет проблемы.

<Target Name="AfterResolveReferences">
    <!-- Redefine referencepath to add dependencies-->      
      <ItemGroup>
          <ReferencePath Include="@(ReferenceDependencyPaths)"></ReferencePath>
          </ItemGroup>
</Target>   
Другие вопросы по тегам