Я работаю над приложением PocketPC в Visual Studio 2005. Решение создавалось нормально, но внезапно сломалось. Первая ошибка (предположим, что это FooPDA):
«Невозможно найти исходный файл« C: \ FooPDA \ obj \ Release \ FooPDA.exe »для файла« FooPDA.exe », расположенного в«% InstallDir% », файл может отсутствовать или заблокирован».
Эта ошибка меня сбивает с толку. Он ищет файл, который должен быть сгенерирован. Кто-нибудь знает, что здесь может быть не так?
Редактировать: проект отлично строится прямо из системы контроля версий, Я просто меняю иконку на проекте, и начинает выдавать эту загадочную ошибку.





Иногда это случается со мной в библиотеках классов и т. д. Если решение не строится должным образом, оно никогда не достигает точки, в которой создается файл .exe.
Можете ли вы скомпилировать, не запуская проект, или вы получаете ту же ошибку, просто пытаясь скомпилировать?
Если можете, я бы попытался исправить любые ошибки компиляции и пересобрать.
Закройте Visual Studio. Очистите свой раствор. Создайте свое решение снова.
Сообщение появляется снова?
Иногда VS блокирует какой-либо файл при компиляции, он может быть заблокирован из предыдущей сборки.
"Unable to find source file 'C:\FooPDA\obj\Release\FooPDA.exe'
Он пытается создать файл C: \ FooPDA \ мусорное ведро \ Release \ FooPDA.exe.
C: \ FooPDA \ объект \ Release \ FooPDA.exe - это один файл (хорошо, почти единственный), который он использует для его создания (в основном путем его копирования).
Похоже, что по какой-то другой причине сборка завершилась неудачно (синтаксическая ошибка и т. д.), Но в некоторой степени остальная часть процесса сборки не поняла и продолжила работу.
Отображение% InstallDir% в сообщении об ошибке может быть подсказкой. Есть ли в вашем решении проект установки и развертывания? Будет ли он собран до вашего проекта FooPDA? Видеть это в объект тоже подозрительно.
OP Edit: Вы были на правильном пути, поэтому я доверяю вам ответ. Оказывается, когда вы выполняете перестройку, компилятор Visual Studio 2005 довольно глуп в том смысле, что не останавливается, когда попадает в проект, который не может скомпилировать. Он просто продолжает компилировать и выдавать ошибки.
Это конкретное решение содержит три проекта. Мы назовем их FooPDA, PDAComponents и Setup. Я изменил значок в проекте FooPDA, и решение больше не компилировалось. Ошибка, на которой я сосредоточился, не имела ничего общего с реальной проблемой. Мне следовало сосредоточиться на ошибке, которую я увидел при первоначальной сборке, а именно:
CVTRES: фатальная ошибка CVT1103: невозможно прочитать файл
Я в основном сдул это и сразу сделал перестройку. Именно тогда ошибка, которую я опубликовал, оказалась в верхней части списка ошибок, и я был зациклен на ней. Я не должен был быть. Первоначально опубликованная мной ошибка была связана с тем, что FooPDA не компилировался, поэтому FooPDA.exe был недоступен, когда пришло время компилировать проект установки. Причина, по которой FooPDA не удалось скомпилировать, когда я изменил значок, была связана с тем, что файл .ico, который я пытался добавить, содержал несовместимые размеры значков и / или глубину цвета. Очевидно, компактная платформа (или целевая платформа PocketPC 2003?) Понимает только некоторые из них. Файл .ico, который я пытался добавить, имел всевозможные размеры и глубины цвета, встроенные в него (вплоть до 256x256 @ 32 бит). Я посмотрел на файл .ico, который изначально был там, и в нем было всего два значка 48x48. Один 24-битный цвет и один 8-битный. Я открыл свой новый файл .ico в редакторе значков и изменил его, чтобы он содержал тот же размер и глубину цвета, что и оригинал, и все снова было в порядке с миром. Решение теперь компилируется с новым значком, без проблем.
С одной стороны, я чувствую себя глупо из-за того, что не понимаю этого (я наконец спросил коллегу, который сталкивался с этим раньше). С другой стороны, что, черт возьми, «CVTRES: фатальная ошибка CVT1103: невозможно прочитать файл», скажите мне? Ничего такого! Что не так с "Ошибка: несовместимый значок"?
Просто столкнулся с этой же проблемой; Спасибо за ответ. Я просто удалил 32-битные цвета (и использовал 24-битные) и значок размером 256x256, после чего сборка прошла успешно. Абсолютно бесполезное сообщение об ошибке.
32-битный цвет и 8-битный альфа-канал - это нормально, проблема в размере. я не уверен, какой максимальный размер. Я уменьшил свой с 256x256 до 48x48, и загадочная ошибка волшебным образом исчезла.
Я проверю это для тебя, когда вернусь домой