{"id":56014,"date":"2012-03-03T16:11:00","date_gmt":"2012-03-03T16:11:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/pfxteam\/2012\/03\/03\/visual-studio-11-beta-currently-incompatible-with-asyncctplibrary-dll\/"},"modified":"2012-03-03T16:11:00","modified_gmt":"2012-03-03T16:11:00","slug":"visual-studio-11-beta-currently-incompatible-with-asyncctplibrary-dll","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/visual-studio-11-beta-currently-incompatible-with-asyncctplibrary-dll\/","title":{"rendered":"Visual Studio 11 Beta currently incompatible with AsyncCtpLibrary*.dll"},"content":{"rendered":"<p>The C# and Visual Basic compilers implement support for async\/await by generating code that utilizes some specific types in the underlying framework.&nbsp; These types include the &ldquo;awaiters&rdquo; used to await things (like Tasks) as well as the &ldquo;builders&rdquo; used in handling the lifetime of an async method&rsquo;s invocation. With the Async CTP that was released for Visual Studio 2010, all of this infrastructure was implemented in DLLs named AsyncCtpLibrary*.dll (e.g. AsyncCtpLibrary.dll, AsyncCtpLibrary_Silverlight5.dll, etc.)&nbsp; In .NET 4.5, these types are all in mscorlib.dll.<\/p>\n<p>The particular shape of the types expected by the compiler stayed the same from the Async CTP v3 to the .NET 4.5 Developer Preview and&nbsp; Visual Studio 11 Developer Preview.&nbsp; As such, you could utilize the Visual Studio 11 Developer Preview along with the corresponding AsyncCtpLibrary*.dll to target async\/await with an earlier version of the Framework than .NET 4.5 (e.g. .NET 4, Silverlight 5).<\/p>\n<p>However, for a variety of security and performance reasons, the shape of the types expected by the compilers has changed for the .NET 4.5 Beta and Visual Studio 11 Beta.&nbsp; This means that while you can absolutely use Visual Studio 11 Beta to build apps that use async\/await with .NET 4.5, you are currently unable to use Visual Studio 11 Beta to build apps that use async\/await against .NET 4, Silverlight 5, etc., since the compilers in Visual Studio 11 Beta are expecting differently shaped types than those in the existing AsyncCtpLibrary* DLLs.<\/p>\n<p>We&rsquo;re currently discussing the situation and will share more details once we have concrete plans.<\/p>\n<p>Thanks for your interest and patience,<br>The Async CTP Team<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The C# and Visual Basic compilers implement support for async\/await by generating code that utilizes some specific types in the underlying framework.&nbsp; These types include the &ldquo;awaiters&rdquo; used to await things (like Tasks) as well as the &ldquo;builders&rdquo; used in handling the lifetime of an async method&rsquo;s invocation. With the Async CTP that was released [&hellip;]<\/p>\n","protected":false},"author":360,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7908],"tags":[],"class_list":["post-56014","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pfxteam"],"acf":[],"blog_post_summary":"<p>The C# and Visual Basic compilers implement support for async\/await by generating code that utilizes some specific types in the underlying framework.&nbsp; These types include the &ldquo;awaiters&rdquo; used to await things (like Tasks) as well as the &ldquo;builders&rdquo; used in handling the lifetime of an async method&rsquo;s invocation. With the Async CTP that was released [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/56014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/360"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=56014"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/56014\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=56014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=56014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=56014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}