Я столкнулся с этой проблемой сегодня, перенося VS2008 решение VS2010. Проблема возникла в любом из следующих сценариев:
- Реконструкция решения
- Очистить, затем Build Solution
Если бы я сделал вторую сборку после любого из них, проблема не появилась. Используя Google, все, что я действительно придумал, - это годовые блоги от Microsoft, говорящие, что они не могут воспроизвести проблему или что она исправлена в будущей версии.
Лучшее, что я нашел, было здесь: Блог разработчиков Mikazo Tech: устранение ошибок MT.exe в Visual Studio 2010
В приведенной выше статье говорилось, что проблема связана с генерацией Manifest и что решение состоит в отключении Manifests в настройках в Linker → Manifest. Мне не нужны Manifests для этого проекта, но я все еще не был удовлетворен.
Я решил это и просто буду отвечать на свой вопрос, потому что я не нашел эту конкретную ошибку (код 31) в StackOverflow.