我有一个可以在本地正常工作的构建,但是不会在我们的 TFS 环境中构建。
我收到以下错误;
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1578):无法解析此引用。找不到程序集“Assembly.Services.Common”。检查以确保该程序集存在于磁盘上。如果您的代码需要此引用,您可能会遇到编译错误。
有问题的程序集被检入 TFS 并位于以下位置;
/Root/BaseBinRefs/Assembly.Services.Common.dll
它在 .net 框架之外没有任何外部引用。
构建失败的项目位于 TFS 中的以下位置
/根/服务/AssemblySolutionFolder/AssemblyThatIsFailing
该程序集在解决方案中的项目中被引用,并且该程序集的 HintPath 似乎是正确的;
<Reference Include="Assembly.Services.Common, Version=1.0.0.0,
Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\BaseBinRefs\Assembly.Services.Common.dll</HintPath>
</Reference>
如前所述,它是在本地构建的,我看不出它为什么会在 TFS 中失败。需要注意的是,总的来说,我是 TFS 的新手,并且仍在尝试将我们的第一个项目集成到这个环境中。
更新 1
使用 ProcessMonitor,我看到 TFS 试图从中加载文件;
C:\Builds\1\Root\BaseBinRefs\Assembly.Services.Common.dll
这不存在,但在相对意义上是正确的。现在,当我查看 Sources 目录时,我看到了 BaseBinRefs,其中包含 Assembly.Services.Common.dll,所以它已经下载了它们(我将 BaseBinRefs 添加到构建定义中)