Метро-приложение С++ с ошибкой сборки библиотеки С# WMC1006

Я только запускаю приложение для метро. Основное приложение — это метро-приложение C++. Приложение собирается и работает нормально.

У меня есть библиотека С#, добавленная в решение, и она строит все нормально.

Я ссылаюсь на библиотеку C# из приложения C++, и она не будет собрана со следующими ошибками:

ошибка WMC1006: не удается разрешить сборку или файл метаданных Windows «System.Runtime.dll»

ошибка EMC9999: юниверс типа не может разрешить сборку: System.Runtim, Version......................

Есть идеи, что происходит? Я не добавлял никаких ссылок в свою библиотеку классов С#. Это ванильная библиотека метро.

Спасибо! Эрик


person Eric    schedule 17.06.2012    source источник
comment
Ваша библиотека C# настроена на вывод файла метаданных Windows (WINMD) (в отличие от библиотеки классов .NET)?   -  person Kris Vandermotten    schedule 18.06.2012
comment
настроен на вывод библиотеки классов   -  person Eric    schedule 20.06.2012
comment
Итак, вы пытались изменить это для вывода файла WINMD?   -  person Kris Vandermotten    schedule 03.07.2012
comment
да, и это сработало, хотя для его работы есть много дополнительных ограничений на код. Некоторые из них кажутся хромыми, например, никакое свойство не может быть двумерным массивом.   -  person Eric    schedule 12.07.2012


Ответы (2)


К сожалению, как указывает Крис Вандермоттен, C++/CX не может использовать библиотеки классов C# (только файлы WinMD), и существует множество ограничений для файлов WinMD, которых нет для библиотек управляемых классов.

person Andy Rich    schedule 20.07.2012

У меня была аналогичная проблема в моем приложении, и я получал те же ошибки.

Не удается разрешить сборку или файл метаданных Windows «System.Runtime.dll»

Юниверс типа не может разрешить сборку: System.Runtime

Мое приложение представляет собой смешанное приложение C#/C++ для Магазина Windows, где основным проектом является C#. Я использую VS 2012 Pro.

Мои проблемы возникли из-за удаления .net SDK из системы, когда я пытался решить другую проблему.

Решение для меня работало (в командной строке администратора)

DISM.exe /Online /Cleanup-Image /RestoreHealth

а затем выполнить ремонт («Программы и компоненты» -> «Изменить» -> «Восстановить») в моей установке Visual Studio 2012 Professional.

Это были единственные шаги, которые позволили мне снова создать приложение.

person dsjapan    schedule 18.02.2014