MCG0023:UnresolvableAssemblyReference - 无法在发布模式下构建

时间:2017-04-11 13:36:02

标签: uwp release system.drawing

我们正试图在发布模式下构建我们的项目但是我们遇到了这个错误:

Internal compiler error: MCG0023:UnresolvableAssemblyReference Unresolvable assembly reference 'Assembly(Name=System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)' found. Please check the references in your build system. A reference is either missing or an assembly is missing an expected type.

我们知道System.Drawing cannot be used in UWP apps并且似​​乎在我们的UWP项目中没有对此程序集的引用。

但是,我们在某个时候引用另一个使用 System.Drawing dll的WPF项目(通过可执行文件,32位)。 我们只需将此项目添加到 Package.appxmanifest 中的授权扩展,位于 / Package / Applications / Application / Extensions / 节点中:

<desktop:Extension Category="windows.fullTrustProcess" Executable="OurExternalApplication.exe" />

有没有办法找出这个问题的来源?

注意:我们使用外部解决方案,Syncfusion for UWP,在某些点引用此程序集。但是在发布中使用Syncfusion构建其他项目没有问题。正如Davis Jebaraj在他的回答中指出的那样,UWP特定的dll中没有任何已知问题,因为它实现了所需的System.Drawing类。

2 个答案:

答案 0 :(得分:1)

由于System.Drawing在UWP中不可用,我们(Syncfusion)已经在我们的Pdf.UWP程序集本身中实现了所需的System.Drawing类。到目前为止我们还没有看到这个参考问题。

Syncfusion提供Syncfusion.Pdf.UWP.dll以实现UWP兼容性。你能否确认你在你的UWP项目中使用这个程序集(而不是Syncfusion.Pdf.Base.dll)

Documentation link

答案 1 :(得分:0)

通常,System.Drawing命名空间在UWP中不可用。您可以查看官方文档.NET for UWP apps但是您说Syncfusion for UWP, that references at some points this assembly哪个库?我不确定syncfusion是否与微软有合作。如果确保syncfusion在其库中使用了System.Drawing Namespace API,则可能需要在official forum上询问。他们的开发团队可能会知道一些有用的信息。