Ошибки "Не удалось найти часть пути" в Visual Studio 2013, которые не отображаются в Visual Studio 2010

Недавно мне не повезло, что я обновился до Visual Studio 2013 на работе, и это был настоящий кошмар. С тех пор, как я обновил мое крупномасштабное приложение WPF до.NET 4.5.1 в Visual Studio 2013, я получал загадочные "фальшивые" ошибки, появляющиеся в списке ошибок. Иногда они даже остаются после Чистки и / или Восстановления, но они не являются настоящими ошибками. Вот пример, где вы можете видеть, что я только что очистил, но ошибки все еще остаются:

Я хочу уточнить здесь... нет проблем с этой моделью представления, и я могу построить этот проект или все решение без (реальной) ошибки, и приложение также работает отлично:

Кроме того, при запуске приложения также возникает проблема с путями к изображениям. Все мои изображения отображаются отлично, но я снова получаю эти "поддельные" ошибки:

Обратите внимание, что перечисленные пути даже отображаются неправильно:

C:\Midas;component\Images\Actions\Delete.ico

В пользовательском интерфейсе на него ссылаются так:

<Image Source="/Midas;component/Images/Actions/Delete.ico" ... />

Я не совсем уверен, вызваны ли эти ложные ошибки изменениями, внесенными в Visual Studio 2013, или изменениями, внесенными в.NET Framework в версиях 4.5 или 4.5.1. Я надеюсь, что кто-то может пролить некоторый свет на это для меня, потому что я готов перейти на.NET 4.5, просто чтобы вместо этого я мог использовать Visual Studio 2012.

1 ответ

Решение

Похоже, вы используете /{Assembly};{path/to/Image} построить без pack:// префикс uri. Редактор предупреждает вас, что он не может найти файл, потому что он действительно не понимает Uri (до тех пор, пока приложение не будет действительно построено). По умолчанию он будет смотреть на файловую систему и пытаться использовать префикс file:// что, конечно, приводит к относительному URI к рабочему каталогу процесса Visual Studio.

Я подозреваю, что если вы явно включите pack:// префикс uri, что редактор перестанет жаловаться

pack://application:,,,/Midas;component/Images/Actions/Delete.ico

Таким образом, дизайнер будет просто знать, что он не должен пытаться искать file:// место нахождения.

Другие вопросы по тегам