如何将 IIS 上托管的本地目录设置为 NuGet 包源?
How to set local directory hosted on IIS as NuGet package source?
我已经设置了一个本地目录 (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'.
有没有办法解决这个错误或使它正常工作?
NuGet 仅支持文件夹中的 .nupkg
s 用于基于文件系统的提要(可以使用 file:// 表示的 URL)。任何 HTTP 提要都必须实施 NuGet HTTP 协议之一。 The link billybob 作为对您问题的评论发布,列出了几个您可以在您的 Web 服务器上托管的 NuGet 服务器。
我要指出 Sleet,它是由 Microsoft 的 NuGet 团队的前成员编写的。它是一个静态站点生成器,这意味着它会创建一堆文件,然后您只需按照当前尝试提供 .nupkg
的方式提供这些文件,它不需要动态生成的 Web 应用程序内容或数据库。但是每次添加remove一个.nupkg
,都需要重新生成所有的静态文件
或者,您可以只使用网络文件共享,而不是 HTTP。尽管如果您的开发人员使用 Visual Studio 的包管理器 UI 来搜索包,效率很低,所以如果您有很多 .nupkg
,您最好使用任何 HTTP 提要.
我已经设置了一个本地目录 (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'.
有没有办法解决这个错误或使它正常工作?
NuGet 仅支持文件夹中的 .nupkg
s 用于基于文件系统的提要(可以使用 file:// 表示的 URL)。任何 HTTP 提要都必须实施 NuGet HTTP 协议之一。 The link billybob 作为对您问题的评论发布,列出了几个您可以在您的 Web 服务器上托管的 NuGet 服务器。
我要指出 Sleet,它是由 Microsoft 的 NuGet 团队的前成员编写的。它是一个静态站点生成器,这意味着它会创建一堆文件,然后您只需按照当前尝试提供 .nupkg
的方式提供这些文件,它不需要动态生成的 Web 应用程序内容或数据库。但是每次添加remove一个.nupkg
,都需要重新生成所有的静态文件
或者,您可以只使用网络文件共享,而不是 HTTP。尽管如果您的开发人员使用 Visual Studio 的包管理器 UI 来搜索包,效率很低,所以如果您有很多 .nupkg
,您最好使用任何 HTTP 提要.