我有一个构建服务器,可以在每个构建中提取nuget包,并且目前在内部部署了NugetGallery用于自定义包.现在,像没有明天一样吃带宽(不是很大,但我希望善待并为我们做得更快).
所以我想自动镜像repos并缓存它们.
到目前为止,我有几个选择:MyGet,这是一个仅限云的产品(所以没有),以及Proget(我倾向于).我还缺少自动镜像的其他选项吗?
我正在尝试调试库中的方法(通过NuGet安装,如果这很重要),并且Visual Studio正在使用以下消息跳过它:
步入:踩过没有符号'Cpi.Net.SecureMail.CryptoHelper.FindCertificate'的方法
我在调试设置中添加了符号服务器源,当我第一次调试程序时,它告诉我它正在下载此库的符号.我已经确认这些符号确实已下载,因为它们出现在我的符号缓存目录中.
感谢SLaks,我现在知道从符号服务器下载的PDB显然是过时的格式.如果我直接从TeamCity的构建工件中检索PDB,则调试工作正常.
因此,看起来,不知何故,或出于某种原因,PDB文件正在通过NuGet打包过程或通过Symbol Server下载过程(ProGet)进行更改.
现在,问题的范围显然已大大扩大.
我刚刚设置了TeamCity来自动化我们的构建,我们当前的解决方案同时具有开发和主分支.我想要实现的是让开发分支构建并发布到我们的ProGet安装上的开发NuGet feed,然后将主分支发布到ProGet服务器上的Main NuGet feed.
我们正在使用章鱼部署来部署软件包,在TeamCity中我们安装了章鱼部署插件,如果我勾选框来运行OctoPack,它会构建软件包并在构建完成时显示为工件.如果我尝试在TeamCity中使用NuGet Pack构建步骤,我会在其中一个项目中收到以下错误:
[08:33:49] : [pack] Attempting to build package from 'xxx.csproj'.
[08:33:50]W: [pack] Unable to find 'xxx.exe'. Make sure the project has been built.
Run Code Online (Sandbox Code Playgroud)
该项目已经建成并且与OctoPack一起使用,那么为什么它不能与NuGet Pack一起使用?我们正在构建五个项目,前四个项目运行正常,一个是控制台应用程序,一个是mvc网站,两个是类库.不起作用的是Windows服务.
这里的最终目标是将这些包发布到ProGet上的私有Feed.我不介意使用OctoPack,但在我脑海中想要从TeamCity中删除该依赖,但我可以忍受它.但是,当我尝试使用NuGet Publish运行器时,如何选择发布已创建的任何NuGet工件?
我一直在谷歌搜索疯狂,我找不到任何有用的链接,描述你应该输入什么,我真的很感激任何有用的评论/答案.
我们正在使用TeamCity的8.15版.
我在从我们的现场 proget 服务器提取 docker 镜像时遇到问题。这一直有效,但我已经离开它大约两个月了。
我运行: docker pull proget/docker/myimage
几层已完成(拉取完成),但最大的一层给出了“来自字节范围请求的预期 HTTP 206”。
多张图像都会发生这种情况。我怎样才能知道这一层是什么?也许我可以从公共服务器获取它。
I am running Linux containers on a Windows 10 box.
PS H:\> docker --version
Docker version 20.10.7, build f0df350
Run Code Online (Sandbox Code Playgroud)
这是我的 docker pull 命令的输出:
Using default tag: latest
latest: Pulling from docker/myimage
d519e2592276: Already exists
d22d2dfcfa9c: Already exists
b3afe92c540b: Already exists
9abe5f2bbd53: Already exists
65becf0a3765: Already exists
9c36e7f174ec: Retrying in 1 second
9475aaec4d08: Download complete
6500e30cdfd9: Download complete
expected HTTP 206 from byte range request
Run Code Online (Sandbox Code Playgroud)
我使用的是 ProGet 版本 …
我知道,您不应该更改 NuGet 包的包 ID。但我做到了,因为进行了一次大的重构。
现在我想知道是否有适当的方法来定义后继 NuGet 包。
Nuspec 中的旧 ID:OldLibrary1
Nuspec/csproj 文件中的新 ID:Library1
如果用户打开 Visual Studio 解决方案的 NuGet 包管理窗口并安装了旧包 (ID OldLibrary1-1.0.0),他应该会看到包的更新/升级Library1-2.0.0。
有没有可能以某种方式定义它?
顺便说一下,我使用 ProGet 作为 NuGet 服务器。
我正在尝试使用ProGet设置一个NuGet服务器,并且在发布包时遇到了一堵砖墙,它没有出现在Feed中.该包被写入磁盘并在其他NuGet提要中工作.其他软件包也没有出现在ProGet feed中,所以我很确定软件包很好,问题在于ProGet.
我正在使用ProGet的社区版本,但我不明白为什么会影响任何东西.
任何想法都是最受欢迎的!
proget ×6
nuget ×3
nuget-server ×2
c# ×1
debugging ×1
docker ×1
docker-pull ×1
myget ×1
nugetgallery ×1
nuspec ×1
symbols ×1
teamcity ×1