Не удалось загрузить Windows.winmd

1

Я выполняю следующий пример: здесь использовать WinRT API в приложении Win32.

Я добавил ссылки на System.Runtime и System.Runtime.InteropServices.WindowsRunTime но когда я добавлю ссылку на Windows.winmd

Я получаю следующую ошибку:

Ошибка 1 Ошибка создания манифеста. Не удалось загрузить файл или сборку "C:\Program Files (x86)\Windows Kits\8.1\References\CommonConfiguration\Neutral\Windows.winmd" или одна из его зависимостей. Попытайтесь загрузить программу с неправильным форматом.

Я пробовал различные конфигурации с использованием различных.NET-фреймворков и версий Visual Studio. Что я могу попробовать?

  • 0
    Трудно догадаться, это прекрасно работает в VS2013. Вы не следовали инструкциям в блоге к письму, вы по крайней мере изменили значение TargetPlatformVersion. Что еще ты изменил?
  • 0
    Я сделал отдельное решение, которое работает. Я сравнил все ссылки на мой первый проект, но не могу найти никаких отличий. Есть ли способ проверить, какие сборки вызывают ошибку и где?
Показать ещё 2 комментария
Теги:
windows-runtime

2 ответа

2
Лучший ответ

Кажется, что установка

<GenerateManifests>true</GenerateManifests>

в файле проекта (например.csproj) несовместимо с ссылками winmd.

Этот параметр добавляется при включении параметров безопасности ClickOnce (флажок "Свойства проекта => Безопасность => Включение параметров безопасности ClickOnce").

До сих пор я не мог найти способ исправить конкретную проблему, но я нашел обходное решение, которое работает для моего случая: я только что создал отдельный проект библиотеки классов в своем решении, к которому ссылается основной проект. В файле проекта библиотеки классов я добавил строку

<TargetPlatformVersion>8.0</TargetPlatformVersion>

как описано в ссылочной статье.

Библиотечный проект компилируется, а также основной проект может без проблем использовать DLL.

0

Я решил очень похожую проблему, следуя этому решению qaru.site/questions/713256/... которое в основном делает публикацию, исключающую winmd.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню