我在64位C#项目中调用一个未损坏的32位C ++库。为了测试我的方法和库的功能,我创建了一个相当简单的wpf项目。使用测试项目可以非常快速地处理库调用,所以一切都很好。
我的测试项目是更大解决方案的一部分。当我运行整个解决方案时,对库的所有调用都变得非常慢(大约慢10倍)。
我已取消选中“启用未管理的代码调试程序”并禁用加载符号而不做任何改进。
我还能检查什么来找到这个问题的根源?
答案 0 :(得分:0)
我认为我发现了什么减慢了速度:当我的项目启用了 Visual Studio托管过程时,解决方案启动项目已将其禁用。
在我的项目中禁用它之后,对dll的所有调用也都放慢了速度,所以我在解决方案中启用了它 - 并且调用的速度和它们现在一样快。
但是,即使经过一些研究(例如:What is the purpose of the Visual Studio Hosting Process?或此处MSDN: Debugging and the Hosting Process ),我也不是更明智的为什么“Visual Studio托管流程”正在加速外部调用,就像这样或者为什么它本来可以被禁用。