Tag: continuous integration

Visual Studio Online构建失败 – 本地工作

我升级到VS2015,MVC更新到5.0。 我能够在我的本地PC上成功构建,但是当我签入Visual Studio Online并且我的CI构建版本时,它会失败: “名称空间’System.Web’中不存在类型或命名空间名称’Mvc’(你是否缺少程序集引用?)” 我已经使用nuget管理器删除,并在我的项目上重新安装MVC – 结果相同。 看看我在项目中的引用,看起来都很好。 在错误发生之前我还会在日志中注意到: Installing ‘Microsoft.AspNet.Razor 3.2.3’. Installing ‘Microsoft.AspNet.Mvc.FixedDisplayModes 5.0.0’. Successfully installed ‘Microsoft.AspNet.Mvc.FixedDisplayModes 5.0.0’. Successfully installed ‘Microsoft.AspNet.Razor 3.2.3’. All packages listed in packages.config are already installed. 但它似乎在构建时,它不知道MVC是什么。 我该如何解决这个问题?

停止测试后停止cassiniDev

我从cmd运行cassiniDev C:\ CruiseControl.NET-1.5.0.6237 \ cassinidev.3.5.0.5.src-repack \ CassiniDev \ bin \ Debug \ CassiniDev.exe / a:D:_CCNET \ proj / pm:Specific / p:3811 然后开始调试和测试。 我完成测试后如何从CMD中停止cassiniDev。 我尝试使用cassiniDev_console但是控制台没有工作,所以我在控制台上使用cassiniDev。

travis for C#的问题

Travis CI 现在支持C# (测试版)。 尝试了8种不同的方法后,我无法找到解决问题的方法。 我有一个ASP MVC项目,travis使用mono,我知道我不能在travis中构建这种项目 script: – xbuild project.sln 好吧没问题,但我想通过我的测试,我找到的最佳解决方案是: language: csharp solution: OptionType.sln install: – sudo apt-get install mono-devel mono-gmcs nunit-console script: – nunit-console MSPSpain.Tests/bin/Debug/MSPSpain.Tests.dll 但失败了.. https://travis-ci.org/MSPSpain/Website/builds/43711017 936ProcessModel: Default DomainUsage: Single 937Execution Runtime: mono-4.0 938Missing method .ctor in assembly /home/travis/build/MSPSpain/Website/MSPSpain.Tests/bin/Debug/MSPSpain.Tests.dll, type Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute 939Can’t find custom attr constructor image: /home/travis/build/MSPSpain/Website/MSPSpain.Tests/bin/Debug/MSPSpain.Tests.dll mtoken: 0x0a000011 940Could […]

使用bittorrent协议分发夜间和CI构建

这个问题继续从我昨天的问题中学到的,即使用git分发夜间版本 。 在上述问题的答案中,很明显git不适合我的需要,并鼓励使用BitTorrent重新检查。 精简版 需要每天早上向每个70多人发布每晚构建,想使用git BitTorrent来平衡转移。 长版 NB。 如果您已阅读我之前的问题,可以跳过以下段落。 每天早上我们都需要将我们的夜间版本分发给70多人(艺术家,测试人员,程序员,制作人员等)的工作室。 到目前为止,我们已将构建版本复制到服务器并编写了一个同步程序来获取它(使用下面的Robocopy); 即使设置了镜像,传输速度也会慢得令人无法接受,因为它需要长达一个小时或更长时间才能在高峰时间同步(非高峰时间约为15分钟),这表明它们是硬件I / O瓶颈和可能的网络带宽。 到目前为止我所知道的 到目前为止我发现了什么: 我在维基百科上找到了关于BitTorrent协议的优秀条目,这是一个有趣的读物(我以前只知道种子如何工作的基础知识 )。 还发现了在客户端 – 服务器握手之后发生的BITFIELD交换上的这个StackOverflow答案 。 我还找到了MonoTorrent C#Library ( GitHub Source ),我可以用它来编写我们自己的跟踪器和客户端。 我们不能使用现成的跟踪器或客户端(例如uTorrent)。 问题 在我的初始设计中,我让我们的构建系统创建一个.torrent文件并将其添加到跟踪器。 我会使用我们现有的构建镜像来超级种子 。 使用这种设计,我是否需要为每个新版本创建一个新的.torrent文件? 换句话说,是否有可能创建一个“滚动” .torrent ,如果构建的内容只有20%的变化,那么需要下载才能获得最新的内容 ? ……其实。 在编写上述问题时,我认为我需要创建新文件, 但是我可以下载到用户计算机上的相同位置,哈希将自动确定我已经拥有的内容。 它是否正确? 回应评论 为了完全全新同步整个构建(包括:PS3和X360的游戏,源代码,本地化数据和光盘映像)~37,000个文件,不到50GB。 随着生产的继续,这将会增加。 这个同步需要29分钟才能完成,当时只有2个其他同步发生,如果你认为在早上9点我们会有50多个想要获得最新的人,这个低峰值。 我们已经与IT部门调查了磁盘I / O和网络带宽; 结论是网络存储已经饱和。 我们还将统计数据记录到同步数据库中,这些记录显示即使是少数用户,我们也会获得不可接受的传输速率。 在不使用现成客户端的情况下,在用户机器上安装uTorrent等应用程序是一个法律问题,因为可以使用该程序轻松下载其他项目。 我们还希望有一个自定义工作流程来确定您想要获得哪个版本(例如,只有PS3或X360取决于您在桌面上的DEVKIT)并且可以获得新版本的通知等。使用MonoTorrent创建客户端不是我很担心。

在构建服务器上注册COM引用的DLL

我们正在开发一个引用几个COM库的C#应用​​程序(例如AutoIT)。 我在源控件下包含所有引用的组件,在第三方“Libs”文件夹中。 问题是COM dll在.csproj文件中没有HintPath属性,我认为必须使用regsvr32(或使用某种脚本)手动注册这些属性。 我目前正在研究创建一个将在每次构建之前运行的MSBuild脚本,但是我无法弄清楚我应该手动调用regsvr32.exe还是使用一些预定义的MSBuild任务? 目前,这是我作为测试所支持的: 这会生成我在给定文件夹中放置的DLL不是有效DLL的错误。 什么是这个问题的好方法? 编辑: 引用COM dll的项目在.csproj文件中有类似的内容: {F8937E53-D444-4E71-9275-35B64210CC3B} 1 0 0 tlbimp False 这不包括任何提示路径作为其他托管程序集,因此在构建服务器上,找不到引用的COM dll。 使用REGSVR32在构建服务器上注册COM dll时,构建成功。

是否有Cruise Control .NET的API?

我可以使用Cruise Control .NET(ccnet)查询服务器的API,例如获取各种构建的状态吗? 我注意到ccnet托盘应用程序中有一些选项可用于连接,但我找不到服务API的任何文档或如何使用它的示例。