需要 TFS 2015 参考才能组装



我在使用 TFS 2015 构建时遇到问题。

我有一个简单的项目引用 B.dll .B.dll使用 A.dll .该项目不引用 A.dll因为它本身不使用它。

A.dll & B.dll bothe是存储在GAC中的公司Framework dll。

[错误]LogistiqueTest\Index.aspx.vb(7,14):错误 BC30009:程序集"A.DII.Technique.Interfaces, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=e60618ca32d203a8"所需的引用,其中包含实现的接口"A.DII.Technique.Interfaces.IGestionException"。向项目添加一个。

这没什么大不了的,只是缺少一个参考。但是我们不想在我们的项目中添加不必要的引用 此外,这个问题不会出现在Visual Studio(2013 pro)上。

所以我跟踪了问题,我看到: -> 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:\程序文件 (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets">

这些文件之间的区别在于Microsoft.Common.CurrentVersion.target,有一些用于解析程序集的代码。

所以我的问题是,有没有办法让 TFS 像这样构建我的解决方案视觉工作室?强制使用其他目标文件?有没有其他技巧可以解决这个程序集?

正如我在网络上的许多帖子中看到的那样,我尝试添加一个包含所需.dll的文件夹,但 TFS 不会尝试解析 A 的路径.dll

更多信息 : 执行 Vbc 时发生异常.exe 因为在 VS 执行中,命令行在/import 部分中具有 A.dll,而使用 TFS 时,它不会添加。MSBuild.exe没有问题。

我终于找到了一个anwser:

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>   

相关内容

  • 没有找到相关文章

最新更新