我们已成功使用NuGet.Server软件包设置了几个本地软件包存储库,并将它们托管在本地IIS Web服务器上.我们能够从包管理器连接并安装没有问题.所以这些都很好.
为了使我们不必签入我们的packages文件夹,我们在每个包含NuGet引用的项目文件中包含以下命令行.如果NuGet.exe位于CI构建代理程序的路径中,则此方法有效.
但是,我想在每个项目文件中将命令行的源配置移动到一个地方,最好是其他讨厌的开发人员无法更改它;)
<Target Name="BeforeBuild">
<Exec Command="nuget install $(ProjectDir)packages.config -s
http://domain:80/DataServices/Packages.svc/;
http://domain:81/DataServices/Packages.svc/
-o $(SolutionDir)packages" />
</Target>
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
有什么办法可以在Apache或相关的http服务器上设置和托管NuGet存储库吗?我有我想要的代码,事实证明我也有一个apache服务器.我知道我可以发布公共场所,但我对自己很好奇.有任何想法吗?可能吗?
尝试将程序包推送到Windows 2008 R2 Enterprise上IIS 7.5上托管的本地托管的Nuget Server(Nuget.Server程序包)时,我收到(405)Method Not Found错误.
有一个为nuget服务器(被调用的Nuget)配置的专用IIS站点,并绑定到特定端口(81为了好玩).
应用程序池设置为.NET Framework 4.0,并处于集成管道模式.
我知道我可能需要启用PUT和DELETE谓词,但不知道哪个处理程序负责处理Nuget请求.
我按照此博客条目中的说明安装并运行了SymbolSource Server Basic.
我可以成功地将包(*.nupkg和*.symbols.nupkg)从TeamCity推送到我的服务器而没有错误.但是,虽然NuGet端在Visual Studio中运行良好,但Symbol Server无法正常工作.我发现我的本地网站的Data文件夹包含我推送的标准NuGet包,但没有任何源代码的迹象.
我应该在哪里查找错误消息,或者我怎么知道为什么我的*.symbols.nupkg似乎没有被正确地推送到服务器?
根据内部策略,我必须设置一个本地nuget存储库,该存储库仅包含内部委员会批准的软件包.
我知道如何设置本地nuget服务器,我还发现如何从Nuget下载所有软件包(http://weblogs.asp.net/jgalloway/archive/2011/02/02/downloading-a-local-nuget-repository -with-powershell.aspx),但我需要的是一种方法来下载经过批准的依赖项包,将它们保存在我的本地服务器上,然后可能让它们在新版本发布时保持日期并且它在内部被"重新批准".
谢谢
我想知道Visual Studio在哪里保存了它的nuget.exe副本,以便可以在我打算做的自定义msbuild目标中使用该路径。
前一段时间,NuGet软件包还原在Visual Studio中不是自动的:您必须导入自定义.targets文件,以便在构建之前还原软件包。当时,每个解决方案的nuget.exe副本都保存在一个.nuget
文件夹中。如今,Visual Studio在构建时会自动执行此操作,这向我表明某个地方存在nuget.exe文件,该文件用于还原解决方案的软件包。
理想情况下,我想使用MSBuild宏知道它的路径,因为那样在哪个机器上构建项目都没有关系,该路径将始终指向正确的位置。
对于那些可能感到好奇的人,我想开始分发关于私有nuget提要的内部库,并打算在构建时使用nuget.exe来构建nupkg文件。我了解NuGetter,但是它比我想要的要复杂和灵活得多,因此我觉得至少从简单的角度来看,纯msbuild方法会更简单。
对于包对其他库的每个依赖项,是否需要解析和安装这些库是真的吗?
例如,我创建了一个使用的包NLog
,Postsharp
并且WindowsAzure.Storage
:
我的包的客户现在也必须安装这些包吗?为什么不能在包中包含这些依赖DLL?
我正在运行Azure托管的NuGet.Server v2.8.60717.93。服务器运行正常,如果我进入以下网址,我将能够看到所有软件包:
https://***.azurewebsites.net/nuget/Packages
Run Code Online (Sandbox Code Playgroud)
我还可以使用Nuget Package Explorer将新软件包发布到服务器。
我https://***.azurewebsites.net/nuget
在Visual Studio中添加为程序包源。只是说,它找不到任何软件包No items found
。
据我了解,除非另外指定,否则Nuget会将/ Packages设置为默认软件包文件夹。我什至尝试设置packagesPath
为~/Packages
,仍然没有运气。
我想念什么?
与使用共享库项目(然后包含在每个解决方案中)相比,使用私有 NuGet 服务器有哪些优势?
我们有几个库在我们的代码库中共享,目前我在每个解决方案中使用项目的相对路径包含了这些库。
我在共享项目中看到的当前问题是,TFS 使用文件夹作为其分支策略,并且在每个解决方案中破坏了项目的相对路径链接。所以 NuGet 服务器会解决这个问题。
我按照本指南设置自己的NuGet
私有服务器,但使用的是Visual Studio 2010.
我已经成功添加了NuGet.Server
包Package Manager Console
,但是当我想构建WebApplication时,我遇到了错误:
名称空间'NuGet'中不存在类型或命名空间名称'Server'(您是否缺少程序集引用?)
软件包安装中没有错误,但是我发现NuGet.Server
项目的参考文件夹中没有添加错误,为什么会这样?
编辑:进一步调查包内容,我看到NuGet.Server
没有lib
for net40
.我可能需要派生NuGet.Server源并编译它net40
来解决这个问题.
这是我的日志来自Package Manager Console
:
PM> Install-package nuget.server
Attempting to resolve dependency 'NuGet.Core (? 2.10.1)'.
Attempting to resolve dependency 'Microsoft.Web.Xdt (? 2.1.0)'.
Attempting to resolve dependency 'Newtonsoft.Json (? 8.0.1)'.
Attempting to resolve dependency 'RouteMagic (? 1.3.0)'.
Attempting to resolve dependency 'WebActivatorEx (? 2.1.0)'.
Attempting to resolve dependency 'Microsoft.Web.Infrastructure (? 1.0.0.0)'.
Installing …
Run Code Online (Sandbox Code Playgroud)