Sta*_*sha 12 c# mstest console-application async-await portable-class-library
注意:这只是一个调试时错误,但非常奇怪.
在运行Debugger并调用方法时,在单独的可移植库中公开,返回ConfiguredTaskAwaitable,我们得到InvalidProgramException.
有2个项目:
PortableClassLibrary(支持.Net 4.5; Windows应用商店; Windows Phone 8),带有1个类:
public class Weird
{
public static ConfiguredTaskAwaitable GetConfiguredTaskAwaitable()
{
return new ConfiguredTaskAwaitable();
}
}
Run Code Online (Sandbox Code Playgroud)ConsoleApplication与代码:
static void Main(string[] args)
{
Weird.GetConfiguredTaskAwaitable();
}
Run Code Online (Sandbox Code Playgroud)ConfiguredTaskAwaitable为ConfiguredTaskAwaitable<T>(通用版本)修复了这个奇怪的问题目前它导致问题导致我无法在调试器下运行我的单元测试.我被迫改变我的"ObjectUnderTest"实现以返回泛型ConfiguredTaskAwaitable<T>,这对于真实项目来说很好,但仍然只是一种解决方法.
有人知道这个错误的原因吗?它绝对与Portable Class Library魔法有关.
您使用的 Visual Studio Ultimate 2012 是否启用了 IntelliTrace?这看起来像是一个错误,应该在Visual Studio 2012 Update 2 的最新CTP和未来版本中修复。
您可以通过转到“工具/选项/IntelliTrace”并关闭“启用 IntelliTrace”来确认这就是问题所在(并解决它,直到获得修复)。