Visual Studio Test可以使用ExpectedException属性检查预期的exception。 你可以传入这样的exception: [TestMethod] [ExpectedException(typeof(CriticalException))] public void GetOrganisation_MultipleOrganisations_ThrowsException() 您也可以像这样检查ExpectedException中包含的消息: [TestMethod] [ExpectedException(typeof(CriticalException), "An error occured")] public void GetOrganisation_MultipleOrganisations_ThrowsException() 但是在testingI18N应用程序时,我会使用资源文件来获取错误消息(如果需要,甚至可能决定testing错误消息的不同本地化版本,但Visual Studio不会让我这样做: [TestMethod] [ExpectedException(typeof(CriticalException), MyRes.MultipleOrganisationsNotAllowed)] public void GetOrganisation_MultipleOrganisations_ThrowsException() 编译器会出现以下错误: 一个属性参数必须是一个常量expression式,一个属性的typeofexpression式或数组创buildexpression式 有谁知道如何testing从资源文件中有消息的exception? 我考虑的一个select是使用自定义的exception类,但基于经常听到的build议,如: “如果你有一个错误条件,可以以不同于其他现有的exception的方式进行编程处理,那么就创build并抛出自定义的exception,否则就抛出一个现有的exception。 资源 我不希望在正常stream程中以不同的方式处理exception(这是一个严重的例外,所以我会进入恐慌模式),我不认为为每个testing用例创build例外是正确的。 有什么意见?
我似乎已经失去了快速查找类的Resharper Ctrl + T映射,我尝试了这里描述的解决scheme: 在安装了Resharper的Visual Studio中,键盘快捷键未处于活动状态 具体的答案是: 我首先尝试重置所有Visual Studio设置(工具>导入和导出设置>重置所有设置),然后转到Resharper> Options> Keyboard&Menus并重新应用键盘快捷方式。 和这个: 设置为Resharper /选项/键盘和菜单/无/应用和保存 接着 Resharper /选项/键盘和菜单/设置为Visual Studio /应用并保存 后者没有做任何事情(没有显着的积极结果),前者的结果如下: (Ctrl + T)被按下。 等待和弦的第二把钥匙。 所以它看起来像VS试图处理命令,而不是Resharper。 Alt + Enter按预期工作,所以并不是Resharper完全分离。 有想法该怎么解决这个吗?
我想知道如果我可以在debugging模式下运行我的应用程序的多个实例(现在两个实例)通过简单的点击或设置一个关键…
六是很酷的孩子。
我正在使用Visual Studio 2010 Ultimate进行C ++编程。 我想logging一些function,我希望文档显示在Intellisense中。 根据MSDN的说法,我只需要在声明之前或者在同一行之后添加注释。 所以我试过这个: // This is a test. void foo(); void bar() { foo(); } 将鼠标移到foo() ,注释不会出现在工具提示中。 我也试过: /// <summary></summary>标记 用/doc构build(通过在项目设置中设置“生成XML文档文件”选项) 到目前为止,我还没有运气。 有没有人知道一个方法来使这项工作?
当Visual Studio运行构build时,它将运行MSBuild来完成大部分工作。 如果将.sln文件传递给MSBuild,并具有适当的Configuration和Platform属性,它将按照Visual Studio的方式构build解决scheme。 msbuild mysolution.sln /p:Configuration=Release /p:Platform="Any CPU" 但是,有一些差异:有时,通过MSBuild而不是通过Visual Studio,构build将会出错,反之亦然。 Visual Studio通过什么参数传入MSBuild来影响进程? 是否有一些方法来查看它正在执行构build时传递的参数?
今天我非常开心,终于可以安装Windows Phone 8 SDK并尝试一下了。 我安装了Windows 8 Pro的全新安装到我的虚拟机(如果来自Parallels,我正在运行),然后安装Windows Phone 8 SDK。 一切顺利,Visual Studio Express已经安装并正在运行,但是当我创build新的项目并试图部署它时,VS会失败,并带有非常奇怪的消息。 首先,出现通知“Windows Phone模拟器无法创build虚拟机:通用故障”的消息框。 真的通知,真的很专业 – 一般的错误,这真的很好。 然后显示部署失败的信息(非常感谢,让我知道这一点,我没有注意到,它完全崩溃)。 然后在错误列表中有一个关于“无效指针”的信息 – 甚至更好。 根本不知道什么是失败或什么是错的。 有人可以帮我吗? 到目前为止,互联网上没有关于这个话题,我不知道问题出在哪里。 我扫描了Windows事件和日志,但没有什么(可能我没有正确search,所以请指导我通过,如果可以的话)。 任何人都可以帮忙?
我正在尝试新的VS 2017 RC,并想知道是否有人知道如何获得以前的debugging行为 在VS 2015中,它是这样的: 按开始debugging 网站会在新的Chrome标签页中打开 按停止debugging 网站仍然开放,网站仍在运行/活动 现在在2017年: 按开始debugging 网站在新窗口中打开,无法与任何其他Chrome浏览器窗口/标签对接 按停止debugging 网站/ Chrome窗口closures后,无法继续使用该网站,除非我手动转到Chrome中的本地主机窗口 2017年有可能转回2015年的风格吗? 因此,Chrome /网站窗口可以与其他Chrome窗口/标签对接,并停止debugging后保持打开状态。 此外,我发现新的Chrome窗口令人沮丧,因为它似乎没有任何历史/内容可用。 例如,我不能自动完成表单或url,这在我尝试testing表单时非常烦人
概要: memcpy似乎无法在真实或testing应用程序中在我的系统上传输超过2GB /秒。 我能做些什么来获得更快的内存到内存拷贝? 全部细节: 作为数据采集应用程序的一部分(使用一些专用硬件),我需要将大约3 GB /秒的临时缓冲区拷贝到主内存中。 为了获取数据,我给硬件驱动程序提供了一系列缓冲区(每个2MB)。 硬件DMA将数据发送到每个缓冲区,然后在每个缓冲区满时通知我的程序。 我的程序清空缓冲区(memcpy到另一个较大的RAM块),并将处理后的缓冲区重新发送到卡再次填充。 我有memcpy移动数据足够快的问题。 看起来内存到内存的拷贝速度应该足够快,可以在我运行的硬件上支持3GB /秒的速度。 Lavalys EVEREST给我提供了9337MB / sec的内存复制基准testing结果,但是即使在一个简单的testing程序中,我也无法使用memcpy获得接近这些速度的任何地方。 我通过添加/删除缓冲区处理代码中的memcpy调用来隔离性能问题。 没有memcpy,我可以运行完整的数据速率 – 约3GB /秒。 在启用memcpy的情况下,我仅限于550Mb / sec(使用当前的编译器)。 为了在我的系统上对memcpy进行基准testing,我已经编写了一个单独的testing程序,在一些数据块上调用memcpy。 (我已经发布了下面的代码)我已经在我使用的编译器/ IDE(National Instruments CVI)以及Visual Studio 2010中运行了这个。虽然我目前没有使用Visual Studio,但我愿意如果能够产生必要的性能,就可以进行切换。 但是,在盲目转移之前,我想确保它能解决我的memcpy性能问题。 Visual C ++ 2010:1900 MB /秒 NI CVI 2009:550 MB /秒 虽然我并不感到奇怪CVI比Visual Studio慢很多,但是我对memcpy的性能这么低感到惊讶。 虽然我不确定这是否可以直接比较,但这比EVEREST基准带宽要低得多。 虽然我不需要相当的性能水平,但至less需要3GB /秒。 标准库的实现肯定不会比EVEREST所使用的更糟糕! 在这种情况下,我能做些什么来加快memcpy的速度? 硬件细节:AMD Magny […]
似乎完全落后于我这样一个优秀的IDE会默认隐藏行号。 这似乎是一个明显的疏忽,或者是糟糕的默认。 这意味着我错过了一些东西 – 因为在VS开发团队VS我,我知道谁有更多的经验。 那么我错过了什么? 为什么我不需要在代码中看到行号?