我正在使用以下命令从命令行运行msbuild:
msbuild mysolution.sln -p:outputdir=c:\mydir
当我运行这个命令时,输出目录被忽略了,而是使用了csproj文件中指定的默认目录。根据该工具的MSDN文档,我应该能够使用此参数覆盖生成目录。我做错了什么?我正在使用以下命令从命令行运行msbuild:
msbuild mysolution.sln -p:outputdir=c:\mydir
当我运行这个命令时,输出目录被忽略了,而是使用了csproj文件中指定的默认目录。根据该工具的MSDN文档,我应该能够使用此参数覆盖生成目录。我做错了什么?你应该使用OutputPath
,更重要的是你应该使用正确的语法:
msbuild mysolution.sln /p:OutputPath=c:\mydir
\
。使用 /p:OutputPath=c:\mydir
而不是 /p:OutputPath=c:\mydir\
。 - Jake BergerOutputPath
。 - Jim FellOutDir
代替OutputPath
。 2:确保OutDir
是你的/p:
参数列表中最先列出的内容。 - kayleeFrye_onDeckOutputPath
在我的情况下没有效果,但是OutDir
有效。 - TorbenJOutputPath
优先于 OutDir
。文档以前是错误的,但我看到他们终于修复了。OutputPath
选项指定输出目录的路径相对于项目目录。这意味着您不能将其设置为全局路径,例如 C:\mydir
。我假设它无法找到您指定的路径,因此默认使用项目文件中指定的路径。OutputPath
对你无效?OutDir
仍然可以 起作用。 - Cody GrayOutputDir
参数。只有 OutputPath
和 OutDir
。不要再增加混淆了。 - Steven LiekensOutputDir
是来自于旧版本的 MSBuild。我在我的 csproj 文件中看到过它的使用。但是在现代的 VS 中,它们可以正常编译。 - nawfalOutputPath
优先于OutDir
”的参考资料吗?根据https://github.com/dotnet/msbuild/issues/87#issuecomment-101467157,情况恰恰相反。而且https://learn.microsoft.com/en-us/cpp/build/reference/common-macros-for-build-commands-and-properties?view=msvc-170在文档中甚至没有包括`OutputPath`。 - Mark Ingram