Ответ 1
Вы должны использовать OutputPath
, и более важно использовать правильный синтаксис:
msbuild mysolution.sln /p:OutputPath=c:\mydir
Я запускаю msbuild из командной строки со следующим:
msbuild mysolution.sln -p:outputdir=c:\mydir
Когда я запускаю это, outputdir игнорируется и используется значение по умолчанию, указанное в файле csproj.
В документе MSDN для этого инструмента указано, что я должен переопределить каталог сборки, используя этот параметр. Что я делаю неправильно?
Вы должны использовать OutputPath
, и более важно использовать правильный синтаксис:
msbuild mysolution.sln /p:OutputPath=c:\mydir
Обратите внимание, что OutputPath
предпочтительнее OutDir
. Документация была неправильной в этом, но я вижу, что они, наконец, исправили ее.
Кроме того, трудно точно сказать, в чем проблема, поскольку вы не указали точный путь, который вы передаете в качестве параметра. Я могу себе представить две возможные проблемы:
Параметр OutputPath
указывает путь к выходному каталогу относительно каталога проекта. Это означает, что вы не можете установить его на глобальный путь, например C:\mydir
. Я предполагаю, что он не может найти указанный вами путь, поэтому он по умолчанию соответствует указанному в файле проекта.
Если путь, который вы на самом деле указываете как параметр, содержит пробелы, команда, скорее всего, не сработает. Я считаю, что вам нужно обернуть путь в кавычки и добавить дополнительную обратную косую черту в конец строки пути.
Я считаю, что вы должны использовать OutputPath.
Мне удалось настроить OutDir для командной строки MSBuild. См. Мой ответ по ссылке ниже с помощью команды. См. Мой ответ fooobar.com/info/233555/...