有没有一种方法可以获取Visual Studio使用的构建命令行?

74

我想从命令行构建项目,但我希望能从Visual Studio(2012)获取确切的命令行语法,这样我就不必手动计算所有标志、导入和其他参数。

有没有办法让Visual Studio显示这些信息?


它没有显示在输出窗口吗? - acfrancis
1
构建输出包括警告、错误等,但不包括完整的命令行。除非我漏掉了什么... - Joshua Frank
2
它确实可以,但需要正确的配置。请参见此问题:https://dev59.com/IGox5IYBdhLWcg3wtmnh - acfrancis
啊,好的!如果你把那个链接作为答案发布(最好是粘贴相关部分的答案),我会接受它作为这个问题的答案。谢谢! - Joshua Frank
3个回答

69

在Visual Studio中构建项目或解决方案时,用于运行编译器(csc.exe)的整个命令行(包括开关和参数)会显示在“输出”窗口中。如果没有看到它,请通过以下步骤检查详细程度:

选项 > 项目和解决方案 > 构建和运行 > MSBuild项目生成输出详细程度

(你可能需要选择"显示所有设置") options in toolbar -- finding projects and solution in options

它必须设置为"普通"或更高级别。有关更多详细信息,请参阅此问题和答案:

编译时在输出窗口上查看所有命令行


11
抱歉,伙计们,但我正在使用Visual Studio 2017,我没有看到“显示所有设置”的复选框,显然我即使在使用“详细”或“诊断”冗长度的情况下也看不到命令。有什么想法吗? - Dominique
3
@Dominique,展示全部的选项并不在那里,但右侧的两个选项是存在的。 - MarcWeintraub
1
这个答案对于Visual Studio 2017或更高版本无效,@Dominique是正确的。 这些建议不起作用。 - Krishnan Venkiteswaran
1
这个答案对于Visual Studio 2017或更高版本无效。@Dominique是正确的。 这些建议不起作用。 - undefined

18

我没有足够的声望来评论acfrancis的答案,所以我只是发表了这个简单的答案: 在Visual Studio 2017中,按照acfrancis的答案,但将两个选项设置为Detailedenter image description here 然后复制输出,搜索cl.exelink.exe(有很多行,在这种情况下有730行,我找不到没有搜索的两个),你可以找到像这样的东西: enter image description here enter image description here


1

在详细模式下,输出窗口会产生大量文本。如果您对编译和链接标志感兴趣,有一种更简单的方法。

只需检查您的项目配置属性,C/C++ -> 命令行和链接器 -> 命令行

enter image description here


不幸的是,这并没有显示出所有使用的选项,例如<AdditionalOptions>...</AdditionalOptions>,这可能在解决方案中的.props文件中指定,而上述获取详细MSBuild信息的技术将包括这些选项。 - Tim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接