Tag: visual studio 2008

如何在Visual Studio 2008“Pro”中执行性能分析

微软制作了一款名为“Visual Studio 2008 Professional”的软件。 我发现似乎没有应用程序性能分析器或类似的东西,使它看起来不那么“专业”。 如果Microsoft不包含探查器,那么Visual Studio 2008的时间分析的第三方选项是什么? 免费是更可取的,因为这是为了学生目的:P

Visual Studio 2008中无法识别的标记前缀或设备筛选器

我有一组Web控件,它们位于由网站引用的程序集中。 我可以毫无问题地构建和运行所有内容,但是当我查看正在使用控件的aspx页面时,我在Tag Prefix下面得到一个绿色下划线。 所以在这个例子中,我在ControlLibrary下得到一个绿色下划线,当我将鼠标hover在它上面时,它表示无法识别的标签前缀或设备filter’ControlLibrary’ 代码是在以前版本的Visual Studio中编写的,我还有另一个包含Web控件的程序集,它似乎工作正常。 关于什么可能导致问题的任何想法?

在64位窗口上运行x86包时,ClickOnce:BadImageFormatException

我的.NET 2.0应用程序导入非托管的32位dll。 当用户通过应用程序内的对话框打开文件时,将加载dll(第一次互操作调用)。 当我使用目标平台“Any”通过clickonce部署应用程序时,64位窗口上的用户在尝试从应用程序打开文件时(在加载非托管dll时)会收到BadImageFormatException。 我知道这是由于64位进程和32位非托管dll的不可比特的比特。 我使用x86作为目标平台重新部署了应用程序。 据我了解,这应该解决比特问题。 但 当我在64位系统上运行为x86构建的已部署应用程序时,我现在在应用程序启动之前立即获得BadImageFormatException。 至少测试了三台64位机器。 在32位机器上,它没有问题。 当我直接从VS运行应用程序时(或者不直接运行,只是正常构建,不通过ClickOnce),使用x86目标平台时64位窗口没有问题。 应用程序启动,用户可以加载文件 – 互操作调用成功。 我已经连续两天调试这个没有结果 – 我试过不同的电脑。 它似乎一直在我尝试的其中一台计算机上工作。 但是,我没有永久访问此计算机。 我已经设法在我的计算机上构建了一次ClickOnce部署,它可以在64位计算机上运行。 这可能只有100次尝试! 没有任何改变,唯一改变的变量是我在计算机重启后立即成功构建。 我做了很多次清理/重建/重启VS /重启Windows。 我重新安装了VS 2008,现在也是整个操作系统,它没有帮助。 编辑:我刚刚设法获得一个良好的构建(下一个100 🙂 :)并在部署的目录之间进行比较。 问题的根源是ClickOnce在主.exe的清单中生成错误的目标平台: <asmv1:assemblyIdentity name="app.exe" version="1.0.4.18" publicKeyToken=".token here." language="neutral" processorArchitecture="msil” type=”win32″ /> processorArchitecture应该是x86。 所以问题是如何在部署时一致地强制VS在清单中生成正确的processorArchitecture。 有人可以帮忙吗?

Visual Studio 2008 – 程序立即退出F5(开始调试)

我在Visual Studio中遇到一个奇怪的问题,如果我开始调试它会立即退出。 这在更改项目属性中的程序集名称后开始发生。 如果我将程序集名称更改回以前的名称,则程序运行正常。 我怎样才能解决这个问题? 以下是更改程序集名称后运行时的输出: ‘SerialDeviceMaintenanceUtility.vshost.exe’ (Managed): Loaded ‘C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll’, Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled. ‘SerialDeviceMaintenanceUtility.vshost.exe’ (Managed): Loaded ‘C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\9.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll’, Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled. ‘SerialDeviceMaintenanceUtility.vshost.exe’ (Managed): Loaded ‘C:\WINDOWS\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll’, Skipped loading symbols. Module is optimized and […]

强类型数据集与弱类型数据集

.Net中强类型数据集的含义是什么? 任何人都可以用清晰简洁的例子来解释吗? 而且,强类型数据集和弱类型数据集之间有什么区别?

DataGridView ToolTipText未显示

我在桌面应用程序中有数据绑定DataGridView ,其列设置了ToolTipText属性,但当我将鼠标hover在网格视图(单元格或单元格标题)上时,没有显示工具提示。 网格视图的ShowCellToolTips属性为true ,我已经使用断点validation了在鼠标hover之前它没有以编程方式更改。 我已经尝试创建一个CellToolTipTextNeeded事件处理程序来查看工具提示文本是什么,但从不调用事件处理程序。 有什么我错过了吗? 谢谢,罗布 编辑:我们正在使用框架2.0。

有没有办法确定显示器的物理尺寸?

以英寸为单位,例如21’显示器。 该应用程序是一个标准的WinForms应用程序。 编辑:似乎真的没有一种可靠的方法来完成我的需要。

格式化自定义工具的输出,以便我可以在Visual Studio中双击错误并打开文件

我编写了一个命令行工具,它预处理了许多文件,然后使用CodeDom编译它们。 该工具将版权声明和一些进度文本写入标准输出,然后使用以下格式从编译步骤中写入任何错误: foreach (var err in results.Errors) { // err is CompilerError var filename = “Path\To\input_file.xprt”; Console.WriteLine(string.Format( “{0} ({1},{2}): {3}{4} ({5})”, filename, err.Line, err.Column, err.IsWarning ? “” : “ERROR: “, err.ErrorText, err.ErrorNumber)); } 然后它写入错误的数量,如“14个错误”。 这是错误如何出现在控制台中的示例: Path\To\input_file.xrpt (73,28): ERROR: An object reference is required for the non-static field, method, or property ‘Some.Object.get’ (CS0120) 当我在VS2008中将其作为自定义工具运行时(通过在我的项目程序集之一的后期构建事件命令行中调用它),错误在错误列表中显示格式很好,每列中都有正确的文本。 当我翻转文件名时,会弹出完全限定的路径。 行和列与源文件不同,因为预处理很好。 […]

嵌套的Linq Min()崩溃了Visual Studio

我有一段代码使Visual Studio 2008 IDE运行速度非常慢,消耗大量内存,最终导致崩溃。 我怀疑VS正在达到操作系统内存限制。 以下代码不是我真正的应用程序代码,但它模拟了问题。 基本上我试图使用LINQ在树中找到最小值。 class LinqTest { public class test { public int val; public List Tests; } private void CrashMe() { test t = new test(); //Uncomment this to cause the problem //var x = t.Tests.Min(c => c.Tests.Min(d => d.Tests.Min(e => e.Tests.Min(f=>f.Tests.Min(g=>g.Tests.Min(h => h.val)))))); } } 还有其他人看过类似的东西吗?

如果是复选框的语句

我想知道如何编写if语句来查看是否选中了一个或另一个复选框。 我有两个复选框。 我希望它检查是否选中复选框1并且复选框2为空然后调用此函数,如果选中复选框2并且复选框1为空则调用另一个函数。 使用IF语句非常糟糕,并且不确定如何将复选框转换为可读值。