如何解决与tfs上的路径冲突

时间:2014-04-16 16:02:31

标签: c# tfs

我有单元测试。在csproj文件中,路径以这种方式写入:

<Reference Include="DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\..\Dependency\DocumentFormat.OpenXml.dll</HintPath>
</Reference>

但是当我在tfs上构建项目时,编译后我会看到警告:

  

C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common.targets(1605):无法解析此引用。无法找到程序集“DocumentFormat.OpenXml”。检查以确保磁盘上存在程序集。如果您的代码需要此引用,则可能会出现编译错误。

因为此路径(.... \ Dependency \ DocumentFormat.OpenXml.dll)不存在。当前目录是/ bin。那么我该如何解决这个警告?

3 个答案:

答案 0 :(得分:1)

看起来..\..\Dependency\DocumentFormat.OpenXml.dll文件没有签到TFS。在解决方案中的适当位置进行检查,并更新.csproj文件中的引用。

答案 1 :(得分:1)

我们在Nuget包中添加了DocumentFormat.OpenXml.dll时遇到了这个问题。通过包创建的引用,我们发现它不是引用已安装的dll,而是引用C:\Program Files (x86)\Open XML SDK\V2.5中的副本。

在最初将DLL的副本直接添加到解决方案并更改引用以使其在TFS上构建之后,我们尝试使用Update-Package -reinstall DocumentFormat.OpenXml从包管理器控制台手动重新安装包,其中重新创建了引用在packages文件夹中找到副本的正确路径,并且没有发生错误。

答案 2 :(得分:0)

将库* .dll复制到项目可执行文件的位置。