草庐IT

异常切换

全部标签

c# - 尝试合并 pdb 文件时出现 ILMerge 异常

我正在尝试将两个程序集合并为一个程序集,它运行良好。然而,当我也尝试合并*.pdb文件时,出现错误:Accesstothepath"F:\Fentec\Businessplan\trunk\Ausgabe\Debug\modules\Planrechnung\Planrechnung.pdb"isdenied.如果我使用/ndebug选项来跳过合并*.pdb文件,它工作正常。但是当然不能在调试时加载符号。起初我以为在postbuild事件中调用ILMerge时,Planrechung.pdb正在使用并被锁定。我也尝试关闭VS2010并从命令行调用ILMerge,但结果保持不变。我检查了

c# - C# 中是否有用于在给定线程上引发异常的好方法

我想写的代码是这样的:voidMethodOnThreadA(){for(;;){//Dostuffif(ErrorConditionMet)ThrowOnThread(threadB,newMyException(...));}}voidMethodOnThreadB(){try{for(;;){//Dostuff}}catch(MyExceptionex){//Dotherightthingforthisexception.}}我知道我可以让线程B以线程安全的方式定期检查线程A是否设置了标志,但这会使代码更加复杂。我可以使用更好的机制吗?这是一个更具体的定期检查示例:Diction

c# - 无效操作异常

我创建了一个WCF服务,它在IIS上托管时运行良好。现在,我采用相同的服务,并在WPF中创建了一个主机应用程序,当我尝试从该应用程序启动该服务时,我得到了这个异常:TheHttpGetEnabledpropertyofServiceMetadataBehaviorissettotrueandtheHttpGetUrlpropertyisarelativeaddress,butthereisnohttpbaseaddress.EithersupplyanhttpbaseaddressorsetHttpGetUrltoanabsoluteaddress. 最佳答

c# - 向自定义异常添加额外信息

我为一个可能出错的非常具体的问题创建了一个自定义异常。我从另一个系统接收数据,如果它在尝试解析该数据时发生爆炸,我会引发异常。在我的自定义异常中,我添加了一个名为“ResponseData”的字段,因此我可以准确跟踪我的代码无法处理的内容。在像这个这样的自定义异常中,额外的响应数据是否应该进入异常“消息”?如果它去那里,信息可能是巨大的。我有点想要它在那里,因为我正在使用Elmah,这就是我获取该数据的方式。所以问题是:-如何让Elmah在自定义异常中记录来自字段的额外信息要么-是否应将额外的异常详细信息放入“消息”属性? 最佳答案

c# - 我如何对这个(正确地)抛出异常的异步方法进行单元测试?

我在接口(interface)中有以下方法..Task>SearchAsync(TUsearchOptions);效果很好。现在我正在尝试进行单元测试以测试何时出现问题-代码会抛出异常。在这种情况下,我已将我的方法设置为抛出HttpRequestException。我的单元测试没有说我抛出了那个异常..varresult=Should.Throw(async()=>awaitservice.SearchAsync(searchOptions));单元测试的错误信息是Shouldly.ChuckedAWobblyvarresult=ShouldthrowSystem.Net.Http.H

c# - 在 C# 中使用 GDAL 时出现异常

我开始在我的应用程序中使用gdal_csharpdll并读取一个geotiff文件。但它说:Thetypeinitializerfor'OSGeo.GDAL.GdalPINVOKE'threwanexception.这是我的代码stringfileName=@"/pathtogeotifffile";OSGeo.GDAL.DatasetDS=OSGeo.GDAL.Gdal.Open(fileName,OSGeo.GDAL.Access.GA_ReadOnly);谁能帮忙?编辑:我有这些dll这是完整的错误信息:它说无法加载gdal_wrap。但是当我要将该dll添加到我的应用程序时,会

c# - 如何在 C# 中使用低级键盘钩子(Hook)来抑制任务切换键(winkey、alt-tab、alt-esc、ctrl-esc)

谁能告诉我如何使用C#禁用任务切换键 最佳答案 我有完整的代码来禁用Windows键,Alt+Tab等等..现在我提供以下代码供其他人引用:/*CodetoDisableWinKey,Alt+Tab,Ctrl+EscStartsHere*///Structurecontaininformationaboutlow-levelkeyboardinputevent[StructLayout(LayoutKind.Sequential)]privatestructKBDLLHOOKSTRUCT{publicKeyskey;publicin

c# - 如何在 Visual Studio 2012 中切换(或突出显示)同一解决方案的项目?

我是VisualStudio的新手,这个问题已经困扰我好几天了。我在VisualStudio2012中的同一个解决方案中有两个项目。在我的解决方案管理器中,其中一个被突出显示,所以当我在没有调试的情况下启动它时Ctrl+F5突出显示的那个开始。如何突出显示(然后按下Ctrl+F5)启动其他项目?无需关闭并重新打开项目。 最佳答案 右键单击->设置为启动项目。 关于c#-如何在VisualStudio2012中切换(或突出显示)同一解决方案的项目?,我们在StackOverflow上找到一

c# - .NET 4.5 中未观察到的任务异常仍然会导致应用程序崩溃

在StevenToub'sarticle:TomakeiteasierfordeveloperstowriteasynchronouscodebasedonTasks,.NET4.5changesthedefaultexceptionbehaviorforunobservedexceptions.WhileunobservedexceptionswillstillcausetheUnobservedTaskExceptioneventtoberaised(notdoingsowouldbeabreakingchange),theprocesswillnotcrashbydefault.

c# - 我可以在 C# 中创建一个全局异常处理程序,让代码在之后继续运行吗?

在.NET中,默认的异常处理程序会让用户继续运行程序。但是,我想要一个全局异常处理程序,将堆栈跟踪保存到“errorlog.txt”文件中,以便用户可以将其发送给我,而不必记住单击“详细信息”并将其复制出对话框(并删除所有关于加载程序集等无用的废话)。但是当我这样做时,代码不知道如何继续,所以我所能做的就是退出应用程序。有什么办法可以两全其美吗?(是的,我知道我要求的本质上是带有日志记录的“OnErrorResumeNext”,但我真的认为它会很有用!) 最佳答案 AppDomain.CurrentDomain.UnhandledE