msbuild -p: outputdir = c: \ mydir игнорируется - PullRequest
40 голосов
/ 11 февраля 2011

Я запускаю msbuild из командной строки со следующим:

msbuild mysolution.sln -p:outputdir=c:\mydir

Когда я запускаю это, outputdir игнорируется и используется значение по умолчанию, указанное в файле csproj.

Документ MSDN для этого инструмента говорит, что я должен иметь возможность переопределить каталог сборки, используя этот параметр. Что я делаю не так?

Ответы [ 4 ]

90 голосов
/ 11 февраля 2011

Вы должны использовать OutputPath и, что более важно, вы должны использовать правильный синтаксис:

msbuild mysolution.sln /p:OutputPath=c:\mydir
8 голосов
/ 11 февраля 2011

Обратите внимание, что OutputPath предпочтительнее, чем OutDir.Раньше документация ошибалась в этом, но я вижу, что они наконец исправили это.

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

  1. Опция OutputPath указывает путь к выходному каталогу относительно каталога проекта .Это означает, что вы не можете установить глобальный путь, такой как C:\mydir.Я предполагаю, что он не может найти указанный вами путь, и поэтому по умолчанию он соответствует пути, указанному в вашем файле проекта.

  2. Если путь, который вы фактически указываете в качестве параметра, содержит пробелы , команда, скорее всего, не выполнится.Я считаю, что вам нужно заключить путь в кавычки и добавить дополнительную обратную косую черту в конец строки пути.

2 голосов
/ 11 февраля 2011

Я считаю, что вы должны использовать OutputPath .

1 голос
/ 21 октября 2014

Мне удалось настроить OutDir для командной строки MSBuild.Пожалуйста, смотрите мой ответ по ссылке ниже с командой.Смотрите мой ответ https://stackoverflow.com/a/26477048/1006422

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