visual-studio-2013 - nuget 未在 Visual Studio Team Services (visualstudio.com) 下下载包(自动包还原)

标签 visual-studio-2013 azure-devops nuget-package-restore

我真的很喜欢 nuget 并在 Visual Studio Team Services (visualstudio.com) 下构建解决方案。任何帮助都感激不尽。

我有一个包含 36 个项目的解决方案。许多项目使用相同的 5 或 6 个 nuget 包。我已仔细遵循 Migrating MSBuild-Integrated solutions to use Automatic Package Restore 的说明因此在我的解决方案文件夹下有一个 .nuget 文件夹,其中包含一个单独的 NuGet.Config 文件,不再包含 Nuget.exe 或 Nuget.targets 文件。所有项目的 Nuget.targets 行都已删除。

我正在使用 Visual Studio 2013 Professional (v12 Update 2),并且该解决方案在本地构建,没有错误或警告。即使在清理并删除包文件夹后,它也会下载并构建良好。包文件夹未 checkin Visual Studio Team Services。

检查构建日志表明:

  • nuget 没有在构建开始时启动以检查、下载和解压任何未解析的包(它在从 MSBuild 集成迁移到自动包还原之前这样做了 - 但是尽管如此,它还是无法解析引用)
  • 我留下了 113 个错误,主要围绕项目无法解析引用这一事实。
  • 与本地构建(和 MSBuild 集成)不同,Visual Studio Team Services 现在甚至没有 nuget 在其构建日志中!!!

  • 事情开始失败的日志示例(尽管这显然是因为 nuget 尚未介入):
    Project "C:\a\src\TFS\RSPlatform\Main\Source\RSPlatform Team Project.sln" (1) is building "C:\a\src\TFS\RSPlatform\Main\Source\Support\A2Refresh\A2Refresh.csproj" (8) on node 1 (default targets).
    PrepareForBuild:
      Creating directory "obj\Release\".
    ResolveAssemblyReferences:
      Primary reference "Bytescout.Spreadsheet".
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "Bytescout.Spreadsheet". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\a\src\TFS\RSPlatform\Main\Source\Support\A2Refresh\A2Refresh.csproj]
              For SearchPath "C:\a\src\TFS\RSPlatform\Main\Source\Support\A2Refresh\FakesAssemblies".
              Considered "C:\a\src\TFS\RSPlatform\Main\Source\Support\A2Refresh\FakesAssemblies\Bytescout.Spreadsheet.winmd", but it didn't exist.
              Considered "C:\a\src\TFS\RSPlatform\Main\Source\Support\A2Refresh\FakesAssemblies\Bytescout.Spreadsheet.dll", but it didn't exist.
              Considered "C:\a\src\TFS\RSPlatform\Main\Source\Support\A2Refresh\FakesAssemblies\Bytescout.Spreadsheet.exe", but it didn't exist.
              For SearchPath "{HintPathFromItem}".
              Considered "..\..\packages\Bytescout.Spreadsheet.2.4.0.1346\lib\net45\Bytescout.Spreadsheet.dll", but it didn't exist.
              For SearchPath "{TargetFrameworkDirectory}".
              Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Bytescout.Spreadsheet.winmd", but it didn't exist.
              Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Bytescout.Spreadsheet.dll", but it didn't exist.
              Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Bytescout.Spreadsheet.exe", but it didn't exist.
              Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Facades\Bytescout.Spreadsheet.winmd", but it didn't exist.
              Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Facades\Bytescout.Spreadsheet.dll", but it didn't exist.
              Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Facades\Bytescout.Spreadsheet.exe", but it didn't exist.
              For SearchPath "{Registry:Software\Microsoft\.NETFramework,v4.5.1,AssemblyFoldersEx}".
              Considered AssemblyFoldersEx locations.
              For SearchPath "{AssemblyFolders}".
    

    谁能建议我应该如何让 Visual Studio Team Services 使用 nuget?
    如果自动包还原建议删除 ~/.nuget/NuGet.exe Visual Studio Team Services 怎么可能使用 NuGet ?

    提前致谢,
    克里斯

    最佳答案

    如果您在 Visual Studio Team Services 上构建,那么我发现 Nuget.exe 和 Nuget.targets 都需要存在,这似乎与您通过谷歌搜索这个主题可以找到的所有建议相反。

    添加它们使我的 Visual Studio Team Services 构建工作。

    关于visual-studio-2013 - nuget 未在 Visual Studio Team Services (visualstudio.com) 下下载包(自动包还原),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24174580/

    相关文章:

    c++ - 没有内联汇编的 x64 函数绕行

    window - 更改 Visual Studio 2013 和/或 Office 应用程序的窗口标题栏高度

    azure-devops - 如何在 Azure 门户中查找 SonarQube 服务器 URL

    msbuild - VisualStudio.com(Visual Studio Team Services)构建因 nuget 包依赖项而失败

    nuget - Visual Studio 2015 是否支持 Nuget v1 提要

    c# - Visual Studio 2013 或 2015 EditorPackage 无法持续​​正确加载

    c# - ADO.Net 实体数据模型向导即将关闭

    sql - Azure DevOps SQL 数据库部署

    azure - 完成时使用不同参数触发相同的 Azure DevOps 管道

    c# - 无法使用 Nuget Package Restore 将 Newtonsoft.Json 从 10.0.1 更新到 10.0.2