使用"ReflectionOnlyAssemblyResolve事件"构建Visual Studio的问题

Ami*_*eni 10 c# msbuild wpf visual-studio

我有一个针对.NET Framework 3.5的Visual Studio 2010项目.该项目从Visual Studio构建良好,但当我尝试从命令行或从TeamCity编译它时,我得到以下构建错误:

C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFX.targets(269,9):错误MC1000:未知的生成错误,'无法解析对程序集的依赖性'Microsoft.Windows.Design.Extensibility,Version = 4.0.0.0,Culture = neutral,PublicKey Token = b03f5f7f11d50a3a'因为它尚未预加载.使用ReflectionOnly API时,必须通过ReflectionOnlyAssemblyResolve事件按需预加载或加载相关的程序集.[C:\工作\ MyProject的\ MyProject.sln]

链接器似乎抱怨Microsoft.Windows.Design.Extensibility.dll,但该项目不依赖于此库.

Han*_*ant 19

试图在项目中编译XAML是一种轰动.忽略消息中关于ReflectionOnlyAssemblyResolve事件的注释,这只是它试图帮助解决问题.真正的问题是它根本无法找到装配体.

这是可以预料的,Microsoft.Windows.Design.Extensibility是一个Visual Studio程序集,存储在Common7\IDE\PublicAssemblies文件夹中.只有在该文件夹位于探测路径中时才能找到它,如果从构建工具运行msbuild.exe,肯定不会.

不确定要推荐什么,你必须找出依赖来自哪里.这可能应该从.xaml文件内容开始,搜索程序集名称.从Visual Studio命令提示符运行msbuild.exe时,还要验证问题是否重现.

  • 似乎依赖来自第三方库.它试图从你建议我的位置添加对库的引用,它工作正常.谢谢. (2认同)