Tag: visual studio

c#visual studio 2017 CPU分析内存exception

我有一个长期运行的c#应用程序,我正在浏览Visual Studio 2017社区版。 在我停止分析(和应用程序)以查看CPU使用率之前运行大约2/3小时。 但是我可以看到它在构建报告时内存使用量增加3GB然后抛出内存不足exception。 Profiling started. Profiling process ID 7312 (test). Starting data collection. The output file is C:\Users\jamie\Source\Repos\test(1).vspx Profiler stopping. Stopping data collection. Merging collection data. Please wait… Data is saved in file C:\Users\jamie\Source\Repos\test(1).vspx Profiling finished. Exception of type ‘System.OutOfMemoryException’ was thrown. 我能做些什么来解决这个问题,还是只需要获得更多内存? 奇怪的是,我的机器上的总内存使用率大约是65%,因此它甚至没有使用我所有的内存来构建分析报告。 这是VS的全新安装,它具有所有默认设置。

我在哪里可以找到Microsoft.VisualStudio.DebuggerVisualizers?

由于缺少程序集,项目将无法编译。 导致错误的文件有一个 using Microsoft.VisualStudio.DebuggerVisualizers; VisualStudio部件标记为红色。 我需要安装什么来修复它? 对我来说,它听起来像是Visual Studio带来的东西,但这就是我正在使用的,所以它已经安装…… 澄清:我知道它存在于哪个程序集中,并且引用会在之前添加到项目引用中。 但我怎么得到它? 我需要安装什么SDK? 或者我忘记在安装Visual Studio时检查一些东西?

C#无法捕获StackOverflowException或查看它发生的位置

我知道这很模糊,但这是我能收集到的。 我希望有人能够了解这可能会如何发生。 我有一个64位程序,我在Win 7 64bit机器上运行,内置在Visual Studio 2012中。 它使用位于另一个项目中的类(编译为dll)。 该类有一个错误的迭代器,可能导致堆栈溢出。 调用该buggy迭代器的操作是通过任务调用的。 所以在我的程序中,代码如下所示: new Task(()=>{ try { DoWork(); //<– buggy iterator is called inside } catch (Exception ex) { //Exception reported to user } }).Start(); 代码每次都在相同的数据上执行,并且没有随机变量或guid生成,所以每次都应该产生相同的输出。 大多数情况下,它会在未知模块中发生StackOverflowException崩溃(尽管我知道它确实发生的地方)。 如果发生这种情况,我无法查看发生溢出的代码中的点,并且try-catch块什么都不做! 我无法继续执行该程序(如果我在没有调试的情况下运行它,它会显示“程序必须关闭以便在线检查解决方案”系统窗口)。 现在,它有时会捕获exception(显示导致exception的代码中的正确位置)。 这是随机的,但如果我更频繁地破坏任务(比如在工作期间随机插入断点),似乎会发生更多。 但是,我还是无法继续申请。 即使exception发生在一个try-catch块中,它应该捕获StackOverflowException(它应该捕获它,因为StackOverflowException包含在Exception中 – C#不会让你捕获它们并明确告诉你SOE已经包含在E中)。 我尝试制作一个小程序,在try-catch块内部故意堆栈溢出,它还显示“程序必须关闭,让我在线检查解决方案”系统窗口,而不是正确处理。 这是代码: private bool Overflow() { return Overflow(); } private void button1_Click(object […]

我如何通过.NET学习我的客户端IP?

我需要从whatismyip.com我的客户端IP。 但是我认为正则表达式模式不正确? 你能帮我这个patttern吗?

无法使用Visual Studio 2015 RC在Windows 8.1+ Universal App中打开Windows Phone项目

尝试在Visual Studio 2015 RC中打开适用于Windows 8.1+的通用应用程序,除了Windows Phone项目之外的所有内容都可以正常运行。 错误信息: “找不到此项目类型所依据的应用程序。” 消息给出的链接 – Visual Studio 2013兼容性 项目文件说VS 12,所以我很确定我是在VS 2013中创建的。 有没有办法在不重新创建整个解决方案的情况下打开项目?

在Visual Studio 2015中DebuggerStepThrough不再传递exception?

在早期版本的Visual Studio中,您可以使用[DebuggerStepThrough]属性来忽略特殊方法中的exception,该方法由于某种原因无法避免(例如网络exception或可能无法解析)。 (请参阅此主题: 抛出并捕获时,不要在调试器处停止调试此exception ) 现在Visual Studio在没有属性的调用函数中向我显示exception,即使它已经被捕获和处理。 例: static void Main(string[] args) { ExceptionalMethod(); } [DebuggerStepThrough] static void ExceptionalMethod() { try { throw new Exception(“BAM”); } catch { } } 此代码不应在VS 2013或更低版本中停止。 与DebuggerHidden相同的行为。 是否有一个新技巧可以忽略这一个例外? 不忽略那种类型的所有例外情况?

如何按C#中的节点属性对XML文件进行排序

不要求任何人为我编写这个解决方案 – 只需寻找最佳方法的指导。 我正在使用C#代码在VS2015中处理.aspx文件。 我发现无数线程解释了如何在XML文件中对节点进行排序。 但是,根据常见的子节点属性,我还没有找到关于如何使用相同结构对多个XML文件进行排序的任何线程。 我的情况:我有一个名为0001.xml到6400.xml的数百个XML文件的目录。 每个XML文件都具有相同的结构。 我想根据子节点的属性对文件(而不是节点)进行排序。 每个XML文件都有一个“项目”父节点,并且具有子节点“年”,“语言”和“作者”等。 例如: 2011 John F. Smith 如果我不是按照0001到6400的顺序列出文件,而是根据项目/作者节点的@sortby属性按字母顺序列出它们,我该怎么做? 我的一个想法是创建一个临时XML文件,收集每个XML文件所需的信息。 然后,我可以对临时XML文件进行排序,然后循环遍历节点以按正确的顺序显示文件。 这样的东西…… XDocument tempXML = new XDocument(); // add parent node of string[] items = Directory.GetFiles(directory) foreach (string item in items) { // add child node of with attributes “filename”, “year”, “language”, and “author” } // then sort […]

“new System.Timers.ElapsedEventHandler(DoStuff)”调用无法正常工作

我试图在C#中创建监视文件夹aplicaction,它将在新文件到达时执行操作。 由于监视文件夹在GPFS共享上,我无法使用FileSystemWatcher(在NTFS中对我来说很好)。 所以我将应用程序基于其他同事解决方案 。 该应用程序很好地显示“计时器启动”消息,但它涉及到 timer.Elapsed += new System.Timers.ElapsedEventHandler(DoStuff); 它没有调用DoStuff方法 – “启动新文件proc”消息从不显示。 我做错了什么? 这是完整的代码: namespace MonitorFolderActivity { public partial class frmMain : Form { List fileList = new List(); System.Timers.Timer timer; DateTime LastChecked; public frmMain() { InitializeComponent(); } private void abortAcitivityMonitoring() { btnStart_Stop.Text = “Start”; txtActivity.Focus(); } private void startActivityMonitoring(string sPath) { if (sPath.Length -1) […]

BackgroundColor Items ComboBox WPF

我正在做一个WPF,并有一个comboBox,其中包含计算机上可用端口的列表。 我想改变这些物品的颜色。 我的comboBox是这些: 这些是加载它的方法: private void ComboBoxLoaded(object sender, RoutedEventArgs e) { string [] portsList = PrintPorts(); // get the ComboBox reference var comboBox = sender as ComboBox; // assign the ItemsSource to the List comboBox.ItemsSource = portsList; // make the first item selected comboBox.SelectedIndex = 0; } 我尝试了很多东西,但没有任何作用。 有人知道怎么做吗? 谢谢!!

Visual Studio中的常规设置

只是想知道是否有办法使Visual Studio 2008 Express Edition生成由我的应用程序的安装程序创建的正常 exe文件? 我厌倦了ClickOnce应用程序文件。 我已经设置了所有这些文件关联,现在我需要为我的应用程序实际安装一个安装程序,代码中的文件关联设置不起作用,因为现在它们是“ClickOnce”应用程序文件而不是普通的exe文件。 不,VS不会为ClickOnce应用程序创建任何exe文件。 任何帮助深表感谢 谢谢 :)