【问题标题】:The type "Windows.UI.Xaml.FrameworkElement" is defined in an assembly that is not referenced“Windows.UI.Xaml.FrameworkElement”类型在未引用的程序集中定义
【发布时间】:2016-05-01 20:33:12
【问题描述】:

我有一个正在尝试构建的 UWP 应用。 在调试模式下一切正常,但是当我切换到发布然后尝试构建时,它会显示错误

错误 CS0012:已定义类型“Windows.UI.Xaml.FrameworkElement” 在未引用的程序集中。您必须添加对 程序集'Windows.Foundation.UniversalApiContract,版本=1.0.0.0, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime'。

我已将其范围缩小到名为“使用 .NET Native 工具链编译”的项目属性,这是问题的根源。当我取消选中该属性时,至少可以构建项目。 但是,我希望启用该选项。 我添加了对 Windows Desktop 和 Windows Mobile 扩展的引用。

知道我需要做什么来解决这个问题吗?

【问题讨论】:

  • 我在 .NET Native Runtime and Compiler 团队工作。我不知道发生了什么,但很想看看。此处概述了让我们进行复制的一组合理步骤:github.com/dotnet/core/blob/master/Documentation/ilcRepro.md
  • 我已按照您引用的页面上概述的步骤进行操作。
  • 谢谢。我看到了你的邮件,我们会在早上看看。

标签: c# .net win-universal-app uwp .net-native


【解决方案1】:

在联系 Matt 后,他和他的同事发现这是 .NET Native 中的错误。所以我只需要等待.NET Native 的下一次更新。

编辑: 在 Visual Studio 2015 的最新更新(更新 3)之后,我现在可以使用 .NET 本机工具链在发布模式下成功构建应用程序!呵呵!

【讨论】:

    【解决方案2】:

    我在为 Windows Universal 开发时遇到了太多问题。 我遇到过类似的问题。重新安装您的 Windows 10 SDK,这为我解决了!

    【讨论】:

    • 我已经尝试过了,但是感谢您的建议 :) 但事实证明,错误不在我的机器或代码上,而是在 .NET Native 中。
    【解决方案3】:

    我回答了一个类似的问题。您是否使用 XmlSerializer 来序列化引用 winmd 类型的类型?在您的情况下,winmd 类型似乎是“Windows.UI.Xaml.FrameworkElement”?如果是这样,请查看我的answer 以了解该问题。似乎 .Net Native 工具在为引用 winmd 类型的类型生成 XmlSerializer 方面存在问题。

    【讨论】:

      猜你喜欢
      • 2011-08-16
      • 2014-08-15
      • 2018-01-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 2018-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多