【问题标题】:Nuget Package Source 404 not foundNuget 包源 404 未找到
【发布时间】:2017-03-03 14:47:41
【问题描述】:

我通过 TeamCity 使用 NuGet 服务器 3.4.3,并带有以下 URL

http://ngserv/guestAuth/app/nuget/v1/FeedService.svc/

尝试使用 Visual Studio 2015 Update 2 访问包源并收到此错误:

[NGServ 包源] V2 提要在

http://ngserv/guestAuth/app/nuget/v1/FeedService.svc/Search()?$filter=IsLatestVersion&searchTerm=''&targetFramework='net35'&includePrerelease=false&$skip=0&$top=26

返回了意外的状态代码“404 Not Found”。

任何想法是什么原因造成的?

注意:这适用于 Visual Studio 2015 Update 1,所以可能是 Update 2 的问题?

【问题讨论】:

    标签: visual-studio-2015 nuget teamcity


    【解决方案1】:

    这是 TeamCity 和最新 NuGet 客户端的一个已知问题。您可以通过更新 TeamCity (teamcity.nuget.api.version=v2) 中的协议并使用 FindPackagesById() 来实现此功能。 v1 协议效率超低,建议不要使用。有关更多详细信息,请查看 GitHub 问题here

    此外,TeamCity 不再积极开发此组件,我们还建议您研究包括NuGet.ServerVSTS package management 在内的替代托管机制。还有一些非微软的替代方案围绕着 pacakage 存储库管理。

    更新: 抱歉,不是 TeamCity 专家。这种集成是由 TeamCity 团队而不是我们构建的。管理文档here 应该会告诉您如何操作。

    【讨论】:

    • 为此 +1。如果您能向我提供有关如何更新 TC 协议版本的详细说明,我将接受 (teamcity.nuget.api.version=v2)
    • 我们遇到了同样的问题,我们必须创建自己的 NuGet.Server,但这很容易,它解决了问题。
    【解决方案2】:

    正如 Harikrishna Menon A 所写,您需要设置 TeamCity internal property teamcity.nuget.api.version。内部属性存储在[TeamCity Data Directory]/config/internal.properties。默认情况下不存在文件internal.properties,如果不存在则创建它。然后在文件中写入单独的字符串:

    teamcity.nuget.api.version=v2
    

    然后重新启动您的 TeamCity 服务器。 NuGet 提要的 URL 不会更改,但协议会更改。此操作帮助我使用 TeamCity Professional 9.1.7。

    【讨论】:

      【解决方案3】:

      您可能要检查的另一件事是您的网址的大小写是否正确。信不信由你,包裹提要 url 区分大小写。我收到了 OPs 错误,因为我有

      feedservice.svc 而不是FeedService.svc

      另外请注意,您需要使用不同的名称添加包源,然后删除旧的,否则 VS 将有助于保留现有的外壳。确保在更正大小写后返回并验证它在保存后仍然正确。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-25
        • 2019-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多