Windows Phone上的react native扩展错误

编译与VS 2012 ,与项目typesWP 8.0下面的代码将失败,如果没有附加debugging器。

不知何故,如果debugging器没有连接,编译器优化会破坏Crash()中的代码 – 请参阅代码中的注释。

testingLumia 1520(8.1)Lumia 630(8.0)

任何想法,为什么这是发生?

 public partial class MainPage : PhoneApplicationPage { public MainPage() { InitializeComponent(); Button.Tap += (sender, args) => new A<B, string>(new B(), "string").Crash(); } } public class B { public void Foo<T>(T val) { } } public class A<T1, T2> where T1 : B { private T1 _t1; private T2 _t2; public A(T1 t1, T2 t2) { _t2 = t2; _t1 = t1; } public void Crash() { var obs = Observable.Return(_t2); obs.Subscribe(result => { //CLR is expecting T2 to be System.String here, //but somehow, after passing through Observable //T2 here is not a string, it's A<T1, T2> new List<T2>().Add(result); }); //Will run normally if commented _t1.Foo(new object()); } } 
  _t1.Foo<type>(type); 

您缺lesstypes声明。 编译器正在猜测(猜错)。 严格的input所有内容,然后运行。