找不到 Nuget 包源 404
Nuget Package Source 404 not found
我正在通过 TeamCity 使用 NuGet 服务器 3.4.3 以及以下 URL
http://ngserv/guestAuth/app/nuget/v1/FeedService.svc/
尝试使用 Visual Studio 2015 更新 2 访问 pakcage 源并收到此错误:
[NGServ 包源]
的 V2 提要
http://ngserv/guestAuth/app/nuget/v1/FeedService.svc/Search()?$filter=IsLatestVersion&searchTerm=''&targetFramework='net35'&includePrerelease=false&$skip=0&$top=26
返回了意外状态代码“404 未找到”。
知道是什么原因造成的吗?
注意:这适用于 Visual Studio 2015 更新 1,所以这可能是更新 2 的问题?
这是 TeamCity 和最新 NuGet 客户端的已知问题。您可以通过更新 TeamCity (teamcity.nuget.api.version=v2) 中的协议并使用 FindPackagesById() 来实现这一点。 v1 协议效率极低,我们建议您不要使用它。有关详细信息,请查看 GitHub 问题 here。
此外,TeamCity 不再积极开发此组件,我们还建议您研究包括 NuGet.Server or VSTS package management 在内的替代托管机制。也有一些非微软的替代品围绕 pacakage 存储库管理。
更新:
抱歉,不是 TeamCity 专家。此集成是由 TeamCity 团队而不是我们构建的。管理员文档 here 应该会告诉您如何操作。
正如 Harikrishna Menon A 所写,您需要设置 TeamCity internal property teamcity.nuget.api.version
. Internal properties are stored in [TeamCity Data Directory]/config/internal.properties
。默认情况下文件 internal.properties
不存在,如果不存在则创建它。然后在文件中写入单独的字符串:
teamcity.nuget.api.version=v2
然后重新启动您的 TeamCity 服务器。 NuGet 提要的 URL 不会更改,但协议会更改。此操作对我在 TeamCity Professional 9.1.7 上有所帮助。
您可能需要检查的另一件事是 url 的大小写是否正确。信不信由你,包 feed url 是区分大小写的。我收到了 OP 错误,因为我有
feedservice.svc
而不是 FeedService.svc
.
另请注意,您需要添加具有不同名称的包源,然后删除旧包源,否则 VS 将有助于保留现有外壳。确保在更正外壳后返回并验证它在保存后仍然正确。
我正在通过 TeamCity 使用 NuGet 服务器 3.4.3 以及以下 URL
http://ngserv/guestAuth/app/nuget/v1/FeedService.svc/
尝试使用 Visual Studio 2015 更新 2 访问 pakcage 源并收到此错误:
[NGServ 包源]
的 V2 提要http://ngserv/guestAuth/app/nuget/v1/FeedService.svc/Search()?$filter=IsLatestVersion&searchTerm=''&targetFramework='net35'&includePrerelease=false&$skip=0&$top=26
返回了意外状态代码“404 未找到”。
知道是什么原因造成的吗?
注意:这适用于 Visual Studio 2015 更新 1,所以这可能是更新 2 的问题?
这是 TeamCity 和最新 NuGet 客户端的已知问题。您可以通过更新 TeamCity (teamcity.nuget.api.version=v2) 中的协议并使用 FindPackagesById() 来实现这一点。 v1 协议效率极低,我们建议您不要使用它。有关详细信息,请查看 GitHub 问题 here。
此外,TeamCity 不再积极开发此组件,我们还建议您研究包括 NuGet.Server or VSTS package management 在内的替代托管机制。也有一些非微软的替代品围绕 pacakage 存储库管理。
更新: 抱歉,不是 TeamCity 专家。此集成是由 TeamCity 团队而不是我们构建的。管理员文档 here 应该会告诉您如何操作。
正如 Harikrishna Menon A 所写,您需要设置 TeamCity internal property teamcity.nuget.api.version
. Internal properties are stored in [TeamCity Data Directory]/config/internal.properties
。默认情况下文件 internal.properties
不存在,如果不存在则创建它。然后在文件中写入单独的字符串:
teamcity.nuget.api.version=v2
然后重新启动您的 TeamCity 服务器。 NuGet 提要的 URL 不会更改,但协议会更改。此操作对我在 TeamCity Professional 9.1.7 上有所帮助。
您可能需要检查的另一件事是 url 的大小写是否正确。信不信由你,包 feed url 是区分大小写的。我收到了 OP 错误,因为我有
feedservice.svc
而不是 FeedService.svc
.
另请注意,您需要添加具有不同名称的包源,然后删除旧包源,否则 VS 将有助于保留现有外壳。确保在更正外壳后返回并验证它在保存后仍然正确。