TFS服务器中的构建解决方案无法从外部NuGet源中找到程序集

时间:2019-07-01 19:53:29

标签: c# tfs tfsbuild build-definition

我无法在TFS服务器上成功构建解决方案。虽然,看来所有我的NuGet软件包都已还原,但我不断收到错误错误CS0246:找不到类型或名称空间名称“ MyAssembly”(您是否缺少using指令或程序集引用?)。仅供参考,这成功地建立在我的本地环境上。

构建步骤

以下是我为构建步骤提供的内容:

NuGet Restore

这些是我提供的输入,而其他所有内容都使用默认值:

  • 解决方案或packages.config的路径: $ / MyApp / MyApp / MyApp.sln
  • NuGet.config的路径:$ / MyApp / MyApp / NuGet.Config
  • 安装类型:恢复

在我的NuGet.Config内部

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="My Packages" value="\\server\Nuget Packages" />
  </packageSources>
</configuration>

此构建步骤运行时,它会成功并显示:

  

packages.config中列出的所有软件包都已安装

构建解决方案

这些是我提供的输入,而其他所有内容都使用默认值:

  • 解决方案:$ / MyApp / MyApp / MyApp.sln

运行此构建步骤时,出现类似以下错误:

  

错误CS0246:找不到类型或名称空间名称'MyAssembly'(您是否缺少using指令或程序集引用?)


文件夹结构

这是解决方案和package.configs的文件夹结构

  • MyApp
    • MyApp.Core
      • package.config
    • MyApp.Web
      • package.config
    • NuGet.Config
    • MyApp.sln

任何建议都会有所帮助,如果需要提供其他信息,请告诉我。谢谢!

1 个答案:

答案 0 :(得分:0)

  

TFS服务器中的构建解决方案无法从外部NuGet源中找到程序集

还原时,NuGet将检查软件包目录中的解决方案。

它检查此软件包目录是否包含.nupkg和NuGet软件包的清单文件,如果存在,则认为已安装NuGet软件包。

因此,要解决此问题,应确保未将\packages文件夹添加到源代码管理中。如果是,请尝试将其从源代码管理中删除。

希望这会有所帮助。