2015-08-03 61 views
10

我似乎无法调试PCL库(使用非常简单的测试项目)。当断点击中并观察窗口重新加载时,它会抛出CS0012: The type 'TaskAwaiter<>' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Threading.Tasks, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null'.本地和自动窗口保持为空。VS2015:在调试时未引用的程序集中定义类型'XXX'

我在Windows 10 Pro(干净安装)上使用Visual Studio 2015 RTM(我没有从任何以前的版本升级 - 它是从ISO完全安装)。我的测试项目针对Windows Phone 8.1,并使用实际设备进行调试。

我发现了几个对类似bug的引用,但是它在构建解决方案时发生了。就我而言,解决方案构建得很好,没有错误或警告。 我尝试手动添加System.Threading.Tasks.dll,但VS不会让我 - 它说它是由构建系统自动添加的。

有没有人遇到过这个问题(并希望修复它)?

+0

该消息是准确的,TaskAwaiter在手机上不可用。你如何得到它的依赖是很难猜测的。注意空的PublicKeyToken,这很糟糕。验证PCL项目目标是否包括手机8.1,记录您使用的任何Nuget软件包。 –

+0

同样在这里,在我的情况下,无法调试的代码位于**共享代码**项目 – user1859022

+0

完全相同的问题。非常烦人,因为我可以调试的唯一方法是写出来的控制台:( –

回答

15

我已经有完全相同的错误CS0012:... TaskAwaiter <> ... 这是VS2015中的已知问题。

https://support.microsoft.com/en-us/kb/3025133

为了解决它去调试 - 选项 - 常规 - 使用传统的C#和VB表达式求值(打勾)

+0

谢谢!它现在可以运行。 – eggplant

+0

这解决了我在调试Windows Phone应用程序时遇到的问题直接在设备上(我在前面的窗口中总是得到错误CS0012) – Gorgsenegger

+0

它对我没有帮助,我刚刚得到一个新错误“价值现在无法获得” –

0

我找到了解决办法对我来说,这个Blog解决这个CS0012错误问题。
只需添加引用,从丢失的DLL:

"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5.2\Facades" 

和错误消失。

+1

有一个缺少反斜杠,但由于白痴6 char编辑规则我无法编辑它。正确的路径是C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ .NETFramework \ v4.5.2 \ Fa凯兹 –

0

(因为我没有足够的信誉发表评论,我必须写一个新的答案...)

试图检查使用传统的C#和VB表达评估之前,请务必停止调试框。否则它将变灰。

相关问题