Подтвердить что ты не робот

Msbuild -p: outputdir = c:\mydir игнорируется

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

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

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

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

4b9b3361

Ответ 1

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

msbuild mysolution.sln /p:OutputPath=c:\mydir

Ответ 2

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

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

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

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

Ответ 3

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

Ответ 4

Мне удалось настроить OutDir для командной строки MSBuild. См. Мой ответ по ссылке ниже с помощью команды. См. Мой ответ fooobar.com/info/233555/...