我已经建立了一个本地目录(C:\ NuGet)来包含本地NuGet软件包。然后,我将此位置托管在IIS(localhost:619)上。然后,将这个位置添加到我的NuGet.Config文件中,如下所示:
<packageSources>
<remove key="Local" />
<add key="Local" value="http://localhost:619/" />
</packageSources>
当我打开包装管理器时,出现以下错误:
[Local] The V2 feed at 'http://localhost:619/Search()?$filter=IsAbsoluteLatestVersion&searchTerm=''&targetFramework='net452'&includePrerelease=true&$skip=0&$top=26&semVerLevel=2.0.0' returned an unexpected status code '404 Not Found'.
是否有解决此错误或使之工作的方法?
答案 0 :(得分:1)
NuGet仅在基于文件系统的提要(可以使用file://表示的URL)的文件夹中支持.nupkg
。任何HTTP提要必须实现NuGet HTTP协议之一。 The link Billybob作为对问题的评论而发布,列出了可以在Web服务器上托管的多台NuGet服务器。
我会指出Sleet,它是由Microsoft NuGet团队的前成员撰写的。这是一个静态网站生成器,这意味着它会创建一堆文件,然后您只需按照当前尝试提供.nupkg
的方式来提供这些文件即可,不需要动态生成Web应用程序的网站内容或数据库。但是每次添加删除.nupkg
时,都需要重新生成所有静态文件。
或者,您可以只使用网络文件共享,而不是HTTP。尽管如果开发人员使用Visual Studio的Package Manager UI来搜索软件包效率不高,但是如果您有很多.nupkg
,那么使用HTTP Feed会更好。