MSBuild找不到异步必需的引用

Pas*_*nen 6 msbuild asynchronous visual-studio-2010

我们安装了Visual Studio 2010 SP1和Async CTP(SP1刷新).

async/await从VS IDE构建时,使用关键字的项目的解决方案构建正常.当用devenv /build "Debug" solution.sln一切建成时也行.

msbuild @commands.rsp solution.sln报告:

File.xaml.cs(123): error CS1993: Cannot find all types required by the 'async' modifier. Are you targeting the wrong framework version, or missing a reference to an assembly?
Run Code Online (Sandbox Code Playgroud)

commands.rsp看起来像这样:

/nologo
/p:Configuration=Debug
/m:3
/fileLogger
Run Code Online (Sandbox Code Playgroud)

有线索吗?

Yur*_* S. 4

请参阅此处的讨论:http://social.msdn.microsoft.com/Forums/uk-UA/async/thread/3d491cb0-a19f-4faf-80a6-5fd05e4e06db

\n\n

为了更好地理解您的问题,有两点需要澄清:

\n\n
    \n
  • 环境:您是否将 VS11 与 VS 2010+Async CTP 并行安装?
  • \n
  • 您的项目:您的项目中是否有带有用户控件和“clr-namespace”的 XAML?
  • \n
\n\n

我引用SERware在MS论坛讨论中得出的初步结论:

\n\n
\n

我认为这与 XAML 项目在引用库本身的类时编译程序集的顺序有关。在这种情况下,XAML 加载器会在引用异步 CTP 库之前尝试编译此类。因此,关键字“async”无法被识别。

\n
\n\n

就我个人而言,我将看看是否可以拆分程序集,以便解决 XAML 中依赖项的编译顺序

\n\n

经过进一步调查后添加:\n据我所知,解释更令人失望:.NET 4.5(Beta)取代了.NET 4.0。此外,异步/等待相关类型的签名已在内部更改。因此到目前为止还没有办法同时使用VS 2010+AsyncATP和VS11 Beta。\xe2\x80\x93 Yuri S. 2 分钟前

\n