【问题标题】:c++ metro app with C# library build error WMC1006带有 C# 库构建错误 WMC1006 的 c++ Metro 应用程序
【发布时间】:2012-06-19 23:00:42
【问题描述】:

我刚刚启动了一个 Metro 应用程序。主应用程序是一个 C++ Metro 应用程序。应用程序构建并运行良好。

我在解决方案中添加了一个 c# 库,它构建的一切都很好。

我从 C++ 应用程序中引用了 C# 库,它不会生成以下错误:

错误 WMC1006:无法解析程序集或 Windows 元数据文件“System.Runtime.dll”

错误 EMC9999:Universe 类型无法解析程序集:System.Runtim,版本.....

有什么想法吗?我没有添加对我的 c# 类库的任何引用。这是一个普通的地铁图书馆。

谢谢! 埃里克

【问题讨论】:

  • 您的 C# 库是否设置为输出 Windows 元数据文件 (WINMD)(而不是 .NET 类库)?
  • 设置为输出类库
  • 那么,您是否尝试过将其更改为输出 WINMD 文件?
  • 是的,这行得通,尽管它的代码有很多额外的限制才能工作。其中一些看起来很蹩脚,就像没有属性可以是二维数组一样。

标签: c# microsoft-metro windows-runtime c++-cx


【解决方案1】:

不幸的是,正如 Kris Vandermotten 指出的那样,C++/CX 不能使用 C# 类库(仅限 WinMD 文件),并且对托管类库不存在的 WinMD 文件有很多限制。

【讨论】:

    【解决方案2】:

    我在我的应用中遇到了类似的问题并且遇到了同样的错误

    无法解析程序集或 Windows 元数据文件“System.Runtime.dll”

    类型 Universe 无法解析程序集:System.Runtime

    我的应用是一个混合的 C#/C++ Windows Store 应用,其中主要项目是 C#。我正在使用 VS 2012 Pro。

    当我尝试解决其他问题时,我的问题来自于从系统中删除 .net SDK。

    我的解决方案正在运行(在管理员命令提示符下)

    DISM.exe /Online /Cleanup-Image /RestoreHealth
    

    然后对我的 Visual Studio 2012 Professional 安装进行修复(程序和功能 -> 更改 -> 修复)。

    这些是让我再次构建应用程序的唯一步骤。

    【讨论】:

      猜你喜欢
      • 2012-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-25
      • 1970-01-01
      • 1970-01-01
      • 2015-03-05
      • 2017-08-05
      相关资源
      最近更新 更多