我正在TeamCity中构建一个项目,启用了NuGet包恢复.
我有两个构建步骤:
其中一个项目安装了官方Feed中的log4net-package.(但不要挂在哪个包裹上)
我的问题是当TeamCity运行第一步时,它在nuget-installer步骤中失败并显示以下消息:无法找到包'log4net'的版本'2.0.3'.
因此,在尽力找到解决方案中的任何错误后,我尝试:
[编辑]关于3.步骤,理想情况下,MSBuild应该像John H.指出的那样,能够重建包,所以我不需要NuGet安装程序步骤.当我尝试在没有nuget安装程序步骤的情况下构建解决方案时出现的错误与我安装的OctoPack包有关:
无法运行OctoPack,因为NuGet包在构建运行之前已恢复,并且目标文件在构建开始时不可用.请再次构建项目以在构建中包含这些包.您可能还需要确保构建服务器在每次构建之前不删除包
然后它成功..为什么?
有没有人对我的问题有所了解?
更多背景:
我认为这与章鱼部署包有关.我在teamcity服务器上安装了章鱼部署插件,我在MSBuild步骤中勾选了Run OctoPack复选框.
我试图卸载octopack包并重新安装,但没有成功.
在MSBuild步骤中结合章鱼插件的NuGet包恢复是否会导致我的问题?
[部分解决方案]我仍然不确定为什么我在log4net-package上收到错误.我正在运行NuGet安装程序作为我的自动构建的第一步,由于构建的性质,最终证明这是正确的事情.
我承认,在更新软件包时,我不会(总是)阅读"有什么新内容".将Octopack从2.0.26升级到3.0.19时,其中一项更改是您不再需要签入.octopack文件夹.所以我真的能理解为什么构建在签入时无法找到目标文件.
现在我:
并且构建运行正常.
谢谢大家的帮助!我现在是一个受过良好教育的人:)
[删除]无关的信息
我们开始使用servicestack v4,请放心,客户端没有许可限制.至少这是我从servicestack的下载页面中读出的内容.
我们正在根据mythz 在servicestack上回答这个问题来构建我们的项目如何构建api.
通用客户端按预期工作(到目前为止)而不设置许可证,但是当同事使用.Dump()方法创建针对服务的测试客户端时,他遇到了此异常:
已达到'20 ServiceStack.Text类型'的免费配额限制.请参阅https://servicestack.net升级到商业许可证或访问https://github.com/ServiceStackV3/ServiceStackV3以恢复到免费的ServiceStack v3.
让我们说:.Dump() - 方法不是问题,我们可以不用它:)但是,我真的不喜欢这些突然的例外!他们突然爆炸你的项目,达到某种许可限制.最后一次这样的事情发生了,它是在一个ormlite集成测试中.一切正常,然后KABOOM,你必须将你的许可证添加到你的NUnit测试项目.
这个框架中还有其他问题吗?我们是否可以向我们的API消费者推荐使用servicestack客户端进行连接,还是会突然回来困扰我们?我完全理解对框架进行许可的必要性,但这一切都归结为我不相信现在是我服务核心的框架!
什么可以自由使用客户端包及其依赖关系,什么不能?
你有任何和解的话吗?是否会删除ServiceStack.Client-mines,或者我们是否应该建议所有使用servicestack.client-package的客户购买许可证以避免他们的应用程序突然崩溃,如果我们在POCO类中添加另一个属性?如果ServiceStack.Client不是"免费",而是"免费"包,那么如果在某种配额下,我怎么知道调用方法呢?