草庐IT

.net - 持续集成是否消除了对庞大的 Visual Studio 解决方案的需求?

我有一个与另一个人一起工作的解决方案,该解决方案有大约50-60个项目,在我看来这太多了,因为它在开发过程中减慢了构建时间并且通常意味着更多的工作必须由IDE比开发过程中所必需的。这个解决方案没有被分解成更小的解决方案的唯一原因是,任何类型的重构或对代码的其他更改都可能导致其他解决方案出现问题,而这些问题只有在代码被推送到存储库并被发现之后才会被发现当其他开发人员尝试完成他的工作时被其他开发人员使用。由于我在持续集成方面没有太多经验,我想知道(除了构建自动化带来的其他奇妙好处之外)它是否是其他开发人员避免需要解决方案的标准方式很多项目?有人可以为.Net/Windows开发人员推荐一本

c# - 如何使用 tfs 2013 与服务结构进行持续集成?

存在一个greatamount关于如何为VSTS和TFS2015+创建构建定义的文档和示例用于ServiceFabric持续集成和部署。在与用于部署ServiceFabric应用程序的TFS2013集成方面有什么可用的?我们如何将本地ServiceFabric集群/应用程序/服务的构建和部署与TFS2013集成? 最佳答案 ServiceFabric是一个分布式系统平台,可以轻松打包、部署和管理可扩展且可靠的分布式应用程序。它作为Microsoft内部平台开发了五年多,于2015年作为产品公开发布。vNext构建也于2015年发布,

c# - 相同代码块执行的持续时间如此不同的原因是什么?

代码:internalclassProgram{privatestaticvoidMain(string[]args){constintiterCount=999999999;varsum1=0;varsum2=0;using(newDis()){varsw=DateTime.Now;for(vari=0;i两个相同用途的相同block。输出:205165798500:00:00.3690996205165798500:00:02.2640266第二个区block需要2.2秒!但是如果为了摆脱使用,持续时间变得相同(~0.3s,就像第一个一样)。我已经尝试使用.netFramework

c# - UI测试框架+持续集成?

所以我有一个我继承的应用程序,我想围绕它构建一个自动化测试套件。该应用程序在设计时并未考虑可测试性,并且代码是“大泥球”。我的计划是使用UI自动化测试框架并在UI级别创建一套测试,直到我有足够的覆盖率让我有信心开始重构并在代码中引入一些接缝以提高可测试性和设计。这是一个.NetWinForms应用程序,我知道的两个框架是:NUnitForms和ProjectWhite根据我的阅读,这两个框架在尝试作为自动构建(持续集成)的一部分运行时都会出现问题,因为大多数CI产品作为Windows服务运行,如果UI使用模态对话框,应用程序将死得很惨。我使用CruiseControl.Net作为我的C

c# - 使用 JSON.Net 解析 ISO 持续时间

我在Global.asax.cs中有一个具有以下设置的WebAPI项目:varserializerSettings=newJsonSerializerSettings{DateFormatHandling=DateFormatHandling.IsoDateFormat,DateTimeZoneHandling=DateTimeZoneHandling.Utc};serializerSettings.Converters.Add(newIsoDateTimeConverter());varjsonFormatter=newJsonMediaTypeFormatter{Serialize

c# - 如何在 .NET 中进行持续测试?

当我进行java开发时,我正在使用Infinitest进行持续测试,当我在.nET中开发时,我真的很想念即时反馈如何在C#和.NET中进行持续测试?编辑:我不是在寻找持续集成,如CruiseControl、TeamCity等。这是一个即时反馈工具,可与我正在寻找的IDE配合使用 最佳答案 我发现了另一个非常有用的VisualStudio扩展:NCrunchhttp://www.ncrunch.net/我真正喜欢它的是它在您键入时在后台运行代码测试(无需保存/构建),它仅运行受更改代码影响的测试,并自动显示代码中的哪些行被通过测试覆盖

c# - 将事件内存分页到磁盘的速率极高,但持续内存使用率较低

如标题所述,我遇到了高页面文件事件的问题。我正在开发一个处理大量图像的程序,这些图像从硬盘驱动器加载。它从每张图片生成一些数据,我将这些数据保存在列表中。对于每3600张图像,我将列表保存到硬盘,其大小约为5到10MB。它以尽可能快的速度运行,因此它最大化了一个CPU线程。程序运行正常,它生成了它应该生成的数据,但是当我在VisualStudio中分析它时,我收到一条警告:DA0014:Extremelyhighratesofpagingactivememorytodisk.根据任务管理器,该程序的内存消耗约为50MB,而且似乎很稳定。当我运行该程序时,我在4GB中还剩下大约2GB,所

c# - 在持续部署中管理密码

我们正在使用TeamCity部署持续集成环境。当我们完成CI流程并转向持续部署时,我们遇到了如何管理生产密码的问题。对于配置中的其他更改,我们使用Web.Config转换。但是,我真的不想在构建配置文件中烘焙生产密码。在CI/CD之前,我们会获取Web.config,使用aspnet_regiis解密连接字符串,更改密码,然后重新加密。显然,这很容易出错,根本不符合CI/CD的精神。我还有其他几个想法,基本上都是关于在部署脚本中使用某些东西来重写然后加密文件的连接字符串部分,但这似乎一定是一个常见问题,而且必须是一些普遍接受的解决方案。但到目前为止,我找不到它。有没有“正确的方法”?谢

c# - 持续从流​​中读取?

我有一个Stream对象,它偶尔会获取一些数据,但时间间隔不可预测。出现在Stream上的消息是明确定义的,并且预先声明了它们的有效载荷的大小(大小是一个16位整数,包含在每个消息的前两个字节中)。我想要一个StreamWatcher类,它可以检测Stream上何时有数据。一旦完成,我希望引发一个事件,以便订阅的StreamProcessor实例可以处理新消息。这是否可以在不直接使用线程的情况下使用C#事件来完成?看起来应该很简单,但我无法完全理解设计它的正确方法。 最佳答案 当你说不直接使用线程时,我假设你仍然想通过异步调用间接使

c# - 持续运行 BackgroundWorker

我需要能够持续运行我的BackgroundWorker。DoWork事件包含池线程进程,OnComplete更新我的UI。我无法找到一种方法来无限循环BackgroundWorker.RunWorkerAsync()方法而不卡住整个程序。任何帮助将不胜感激。 最佳答案 您必须在DoWork-Method中创建一个循环。要更新您的UI,您应该使用ProgressChanged-Method。这是一个小例子,这看起来像publicTest(){this.InitializeComponent();BackgroundWorkerback