【问题标题】:Packages not downloading on MSBuild Server未在 MSBuild 服务器上下载包
【发布时间】:2016-11-14 20:24:54
【问题描述】:

ASP.NET 4.5 MVC 应用程序

在本地构建/运行正常

Packages 文件夹未检入源代码管理

源代码控制如下所示:

MyProject
  -.nuget
  -.tfignore
  -MyProject.Web
  -MyProject.Utilities
  -MyProject
  -MyProject.sln

.nuget文件夹里面只有一个文件:NuGet.config,里面有这个:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <solution>
        <add key="disableSourceControlIntegration" value="true" />
    </solution>
</configuration>

我可以在本地删除 packages 文件夹,运行它,它会再次正确下载所有内容。

当我从 Visual Studio 开始构建解决方案并将其部署到 Azure 云服务时,构建失败并显示:

The type or namespace name 'WindowsAzure' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

【问题讨论】:

    标签: asp.net-mvc visual-studio msbuild nuget nuget-package-restore


    【解决方案1】:

    执行此操作的“新”方法是运行

    nuget.exe 恢复“MySolution.sln”

    我将我的(版本化的)nuget.exe 文件放在我的构建服务器上,如下所示:

    c:\MyProgFiles\NuGet\2.8.6\nuget.exe
    c:\MyProgFiles\NuGet\3.3.0\nuget.exe
    

    然后在我构建之前,我调用

    "c:\MyProgFiles\NuGet\2.8.6\nuget.exe" restore "c:\MyFullPath\MySolution.sln"
    

    您还可以阅读有关“如何清理旧的 nuget 东西”的文章

    http://docs.nuget.org/consume/package-restore/migrating-to-automatic-package-restore

    (尽可能使用 CI 宏来创建文件名)

    我还将这些行放在“nuget restore”之前以帮助调试。

    "c:\MyProgFiles\NuGet\2.8.6\nuget.exe" sources list
    
    "c:\MyProgFiles\NuGet\2.8.6\nuget.exe" locals all -list
    

    顺便说一句:如果你有一个包源可能会被删除,那么将它添加到你的构建脚本中(在上面提到的“恢复”之前)

    "c:\MyProgFiles\NuGet\2.8.6\nuget.exe" locals all -clear
    

    这将清除您的本地缓存并强制重新下载。

    同样,这里的值仅在您使用包被删除的源时才可用。

    【讨论】:

    • 所以你不是在 VS 中定义构建定义然后开始它。相反,您是通过命令行来完成这一切的吗?
    • 理想情况下,Visual Studio 没有安装在构建服务器上。只有框架和 SDK。可用于詹金斯的“插件”......通常只是“有人为你打包了命令行调用”。您在构建定义中设置插件的属性,插件的编写者只是为您封装命令行调用。
    • 你的标题说“在 MSBuild 服务器上”。所以我假设这是一台进行构建的机器(不是你的开发盒)。因此在“MSBuild Server”上添加“nuget restore”步骤将是谨慎的。这就是为什么我要尝试跨越。
    • 您可以在构建定义中添加执行步骤。另请参阅:stackoverflow.com/questions/31384189/…(“11”答案)
    猜你喜欢
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多