草庐IT

c# - 有没有一种聪明的方法来处理 NuGet 中的包依赖关系?

我们正在开发一个WPF应用程序,它具有各种“通用”依赖项(Unity、Prism等)。添加新项目然后为每个项目设置NuGet包依赖关系时一切都很好,但是当涉及到升级时,这真的很痛苦,因为这意味着我们必须遍历每个项目,删除旧引用然后重新获取来自NuGet的最新包。例如,今天,我的任务是将Prism从5.0升级到6.0(无论如何都有重大变化),这意味着,除了修复所有namespace冲突等我必须检查每个项目之外,删除旧引用,添加新的依赖项并冲洗并重复。我的问题是,是否有更聪明的方法来处理这个问题,或者这是标准方法吗?非常感谢,更新:我最关心的是没有出现在包管理器上的“主要”升级。版本5.0

c# - 有没有一种方法可以在不使用 XAML 的情况下设置对象的 AutomationID?

我需要自动化Winform应用程序。如何像thisarticle中的XAML一样设置AutomationID(或AutomationName)是吗?从这里stackoverflowarticle答案似乎是否定的,除非我将应用程序切换到WPF应用程序(这样我就可以使用XAML来定义控件)。我试过这种天真的方法:AutomationElementformAutomation=AutomationElement.FromHandle(this.Handle);formAutomation.Current.Name="SandboxResponseDialogName";formAutomat

c# - 有没有办法从继承的属性中删除属性?

是否可以从继承的属性中删除属性?我认为通过使用new关键字我可以这样做...publicclassPerson{[Required]publicstringFirstName{get;set;}[Required]publicstringLastName{get;set;}}publicclassEmployee:Person{[Required]publicstringJobTitle{get;set;}publicnewstringFirstName{get;set;}}...但这根本不起作用。这让我感到惊讶,因为new专门用来隐藏继承的成员。 最佳答案

c# - 有没有办法知道是否正在等待任务?

我有一个方法publicTaskDoSomeWorkOnARemoteMachine()它非常具有描述性,通过以下方式在远程机器上执行一些工作:在消息总线上排队消息,表明工作应该完成远程代理接收消息并执行工作工作完成,代理在消息总线上排队消息以表明工作已完成调用工作的应用程序接收工作完成的消息我使用Task的原因是因为第一个Task用于消息的排队;而内部Task当远程机器上的工作完成时(即收到来自代理的消息时),就完成了。远程代理在工作执行期间捕获的任何异常都与完成消息一起传递,并在内部Task时重新抛出。完成。要调用此方法,我使用:awaitawaitDoSomeWorkOnARem

c# - 有没有办法在正则表达式中执行动态替换?

有没有办法在C#4.0中使用匹配中包含的文本的函数进行正则表达式替换?在php中有这样的东西:reg_replace('helloworldyay','(?=')\s(?=')',randomfunction('$0'));它为每个匹配项提供独立的结果,并在找到每个匹配项的地方替换它。 最佳答案 参见Regex.Replace具有MatchEvaluator重载的方法。MatchEvaluator是一种您可以指定的方法,用于处理每个单独的匹配项并返回应用作该匹配项的替换文本的内容。例如,这个...Thecatjumpedoverth

c# - 有没有办法*完全*禁用编辑并继续?

我想知道是否有一种方法可以在VisualStudio2008中调试时完全锁定我的代码。代码文档在作为64位应用程序运行时会自动锁定,我非常喜欢这样;但是,我的大部分代码都是为32位的Excel制作插件。结果是,即使我以“AnyCPU”为目标,VS主机也知道它在32位进程中运行,因此,当代码在Visual中运行时,源代码未被锁定工作室。我可以通过转到“工具”>“选项”>“调试”>“编辑并继续”,然后取消选中“启用编辑并继续”复选框来关闭“编辑并继续”。但是,这并没有完全锁定代码。这确实会阻止在当前运行中执行代码中的任何编辑,但不会阻止鼠标单击或击键实际更改代码。同样,在使用64位应用程序

c# - 有没有办法在 LINQ 查询发生时观察它们?

我最近一直在研究LINQ并想了解更多相关信息,并且正在寻找一种简单的方法来可视化我的查询,以便更详细地了解查询过程中发生的事情。有谁知道可以公开使用的工具来完成这样的事情吗?谢谢,乔希 最佳答案 您可能想在VisualLINQ上阅读这篇文章在JonSkeet的博客上。VisualLINQ是一种工具,可让您直观地观察正在运行的LINQ查询。您可以直接下载它的文件here.希望这对您有所帮助。编辑:ScottGu的博客也有一篇关于LINQtoSQLDebugVisualizer的文章,这可能会对您有所帮助。

c# - C#有没有成熟的P2P框架/库?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我正在寻找一个可靠的P2P框架或库,最好是用C#本地编写,但也可以使用C#可以与之交互的东西。您遇到过或使用过可靠的工具吗?

c# - 有没有比在构造函数中作为参数发送更好的方法来设置大量必需的属性?

我有一个类,为了完成它的工作需要设置8个不同的属性值。我想确保在尝试执行方法之前设置了所有8个属性。我目前已经通过构造函数传入并设置了所有参数。有更好的方法吗? 最佳答案 您可以允许在不指定所有属性值的情况下创建对象,然后如果在对象状态对于要执行的方法调用有效之前调用该方法,则该方法将抛出InvalidOperationException,这在这种情况意味着所有8个属性都将具有有效值。这样您就可以为消费者提供更多的灵active。它可以在某个时刻创建一个新实例,在另一个时刻设置它的属性,然后才调用该方法。这是一个通过.NET代码库使

c# - 有没有办法在运行时访问功能区 (XML)?

我正在开发Word2007应用程序级加载项。到目前为止,除了将加载项的功能区界面转换为XML之外,我还没有遇到重大障碍。我必须使用RibbonXML,因为我正在处理的功能只能通过这种方式完成。问题是,通过切换到RibbonXML,我无法再在运行时通过Globals.Ribbons访问界面。此链接http://msdn.microsoft.com/en-us/library/bb772088.aspx很好地解释了如何访问可视化设计器功能区,但它完全忽略了XML功能区的情况。具体来说,我需要能够访问一些视觉控件,例如标签。我怎样才能做到这一点? 最佳答案