我想知道Visual Studio在我的dotnet核心应用程序中构建/重建和清理解决方案时使用的确切dotnet cli命令?
我知道dotnet core cli是在msbuild之上构建的,所以当您运行build/Rebuild或Clean Solution时,Visual Studio直接使用msbuild命令,而不是来自dotnet core cli的命令?
对吗?
如果这是正确的,我想知道它在三个操作中使用哪个msbuild命令:
哪些dotnet core cli命令与此等效?
我从这篇文章(dotnet cli和新的vs2017 msbuild之间的关系)中知道,以下命令在dotnet和msbuild中执行构建、重建和清理。
Dotnet cli:
Msbuild:
我想这还不够?这很好,但我想看看Visual Studio为这些动作制作了什么?
我想知道是否可以更改Visual Studio的行为,使其运行dotnet cli命令而不是msbuid?
研究:
我当时正在Visual Studio中构建一个asp.net核心Web api项目(Visual Studio 2017 Enterprise Version 15.9.11)
构建/重建和清理解决方案时,我在Visual Studio Output中查找,但找不到与dotnet core cli或msbuild相关的任何内容。然后我转到VisualStudio工具/选项/“项目和解决方案”/“构建和运行”并更改了选项:
结果是,在VisualStudio的输出窗口中生成的日志非常大,很难找到用于操作的确切命令。我可以看到输出中的许多地方都使用了msbuild,但要找到确切的命令有点混乱。
我还看到了这个问题(VisualStudio是否在内部使用MSBuild,确切的命令是什么?)
这个答案说:
引述:
似乎没有指定MSBuild命令行选项,而是在Visual Studio中调用了MSBuild API。除非您有Visual Studio源代码进行反向工程,否则无法获得等效的命令行
dotnet core cli msbuild也是这样吗?
感谢您对此事的任何帮助或澄清。
我知道dotnet core cli是在msbuild之上构建的,所以当您运行build/Rebuild或Clean Solution时,Visual Studio直接使用msbuild命令,而不是来自dotnet core cli的命令?
对于VS2017,我认为VS IDE调用了msbuild。当清理、生成和重建时直接执行。您可以通过任务管理器或流程监视器轻松检查这一点。
至于上面提到的:
似乎没有指定MSBuild命令行选项,而是在Visual Studio中调用了MSBuild API
我认为这是正确的但只适用于eariler vs版本(2010,2013)。我用VS2010测试过,在VS中做与构建相关的操作时,它不会调用MSBuild.exe.所以VS2010中的msbuild不会作为
单独的进程
执行。
关于msbuild命令VS实际执行的内容:
从现在起,VS2017调用msbuild。exe来构建。净核心或。净外汇项目。
在我看来:
对于仅包含项目的解决方案:
构建解决方案=
重建解决方案=
清洗溶液=
我想每次当我们点击VS中的Build按钮时,它都会从这个框中挑选Configuration和Platform的值,因为这两个参数肯定会传递给MSBuild.exe.
此外,我们可以发现的一件事是,IDE在开始构建之前有一个检查过程:它会检查文件是否过期,然后确定是否需要构建。但这不是您在问题中提出的问题,也不影响您想要的命令,所以我跳过它。
所以实际上我认为上面的命令应该添加一些参数,比如:
msbuild-m:8-v:m
。
另外:虽然我发现VS中与建筑相关的动作会直接调用msbuild.exe。我不确定我上面的命令是100%正确的。恐怕没有人能确保,除了在VS IDE中开发菜单命令的家伙。所以如果我误解了什么,请随时纠正我:)
如果你只是想得到与VS完全相同的东西,你也可以试试开发。exe。这是官方文件中唯一确认构建开关在集成开发环境(IDE)中执行与
构建解决方案菜单命令
相同功能的地方。
我有一个c#解决方案(开源,可从这里获得:https://github.com/tzachshabtay/MonoAGS),我可以从Visual Studio 2017(点net框架)和VS for Mac (Mono)编译好它。我也可以在linux和mac上用Travis CI上的msbuild成功编译(https://github . com/tzachshabtay/MonoAGS/blob
CommandInvokationFailure:Gradle生成失败。C: /Program Files/Unity/Hub/Editor/2019.2.21f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\OpenJDK\Windows\bin\java。exe-classpath“C:\Program Files\Unity\Hub\Edi
本文向大家介绍Docker 清理命令集锦,包括了Docker 清理命令集锦的使用技巧和注意事项,需要的朋友参考一下 杀死所有正在运行的容器 删除所有已经停止的容器 删除所有未打 dangling 标签的镜像 删除所有镜像 为这些命令创建别名 # 杀死所有正在运行的容器. alias dockerkill='docker kill $(docker ps -a -q)' # 删除所有已经停止
本文向大家介绍IIS 7.5 解析错误 命令执行漏洞解决方案,包括了IIS 7.5 解析错误 命令执行漏洞解决方案的使用技巧和注意事项,需要的朋友参考一下 一、漏洞介绍 漏洞影响 IIS7 及IIS7.5 在使FastCGI方式调用php时,在php.ini里设置 cgi.fix_pathinfo=1 使得访问任意文件URL时,在URL后面添加“/x.php”等字符时,该文件被iis当php文件代
null
本文向大家介绍Git 命令详解及常用命令整理,包括了Git 命令详解及常用命令整理的使用技巧和注意事项,需要的朋友参考一下 Git 命令详解及常用命令 Git作为常用的版本控制工具,多了解一些命令,将能省去很多时间,下面这张图是比较好的一张,贴出了看一下: 关于git,首先需要了解几个名词,如下: 一、新建代码库 二、配置 Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),