Где MSBuild хранит его параметры и как их изменить? - PullRequest
1 голос
/ 14 мая 2010

У нас есть большой проект под управлением исходного кода, включая файл MSBuild для запуска сборки. Недавно сборка перестала работать на моем компьютере (я получаю сообщение об ошибке, говорящее о том, что zzz является неоднозначным в пространстве имен yyy). Один и тот же файл MSBuild отлично работает как на сервере сборки, так и на компьютерах моих коллег.

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

1 Ответ

1 голос
/ 15 мая 2010

Итак, после долгих потянув за волосы, я нашел и решение моей проблемы, и ответ на мой вопрос.

MSBuild сохраняет параметры по умолчанию в наборе файлов .rsp и файлов .targets, находящихся в базовом каталоге MSBuild. В моем случае это был C: \ Windows \ Microsoft .NET \ Framework \ v3.5. Хитрость заключается в том, что параметры хранятся отдельно для 32-разрядной версии MSBuild и 64-разрядной версии (C: \ Windows \ Microsoft .NET \ Framework64 \ v3.5. Для нашей сборки требовалось изменить файл визуальных базовых целей по умолчанию, который позаботился о неоднозначном справочном звонке, который я получал.

Моя проблема произошла из-за того, что что-то изменило мой системный путь, указав на Framework64 вместо Framework. Поскольку мой пользовательский файл .targets был применен только к 32-разрядной версии MSBuild, неоднозначная ссылка не была правильно разрешена. К сожалению, нет никакой визуальной разницы между запуском 64-битной версии MSBuild и 32-битной версией MSBuild. Когда я исправил системный путь, все снова заработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...