У меня сегодня аналогичная ошибка в проекте, который я конвертирую в VS2010.У меня пока нет хорошего решения проблемы, но у меня есть обходной путь.В моем случае проект содержал 2 файла idl.Назовите их A.idl и B.idl.A.idl является основным idl для проекта.Включает Б. Идл.Полученная ошибка:
ошибка MSB4094: «A.idl; B.idl» является недопустимым значением для параметра «Источник» задачи «MIDL».Несколько элементов не могут быть переданы в параметр типа «Microsoft.Build.Framework.ITaskItem».
Похоже, что система сборки искала все файлы idl в проекте и сделала один вызов компилятора MIDL свсе они, хотя это обречено на провал.Я не знаю, почему VS2010 делает это, а более ранняя версия этого не делала (или, возможно, более ранние версии MIDL могли обрабатывать несколько входов).
Обходной путь: захватите аргументы MIDL со страницы командной строки MIDL проекта.свойства.Затем запустите MIDL вручную в окне командной строки VS2010, используя эти аргументы.В моем случае, поскольку A.idl включает B.idl, мне нужно было запустить только одну команду MIDL:
Параметры MIDL-параметров-копий-из-проекта A.IDL
Похоже,у вас есть несколько файлов idl в вашем проекте (hdxBinding.idl, hdxBlinking.idl и т. д.).Так что тот же трюк может сработать для вас.
Удачи