gpt4 book ai didi

c# - 为什么 `dotnet msbuild` 会在第一次运行时失败并显示警告,然后第二次运行成功?

转载 作者:太空宇宙 更新时间:2023-11-03 18:51:33 24 4
gpt4 key购买 nike

我加入了一个新的工作团队,之前从未使用过 .NET,但我遇到了一个我什至不知道如何开始诊断的问题。

基本上,我需要构建项目,并在 VisualStudio Code 终端上使用以下命令来执行此操作:

dotnet msbuild -restore -target:build -p:VisualStudioVersion=16

在第一次运行时,编译器报错如下:

  • 尾随逗号
  • 右大括号前有空行
  • 类型名称冲突
  • 作为参数的文字字符串
  • 类拥有一次性字段但字段类型实际上不是一次性的

此时我没有尝试运行应用程序,因为我想先解决警告。

我再次运行命令 (dotnet msbuild -restore -target:build -p:VisualStudioVersion=16),它在没有产生任何警告的情况下进行了编译。

谁能对 .NET 有更多的了解,能告诉我为什么会发生这种情况吗?

最佳答案

Why would dotnet msbuild fail with warnings on the first run and then run successfully the second time?

根本问题是您将情况描述为与实际情况相反。 MSBuild 没有“因警告而失败”。它成功并发出警告。项目搭建成功,所以成功。

一旦您对工具工作原理的心智模型正确,诊断问题就会容易得多。

I ran the command again and it did the compilation without producing any warnings.

没有,它没有再次编译。相反,它什么都没做。构建一个已经成功构建的项目什么都不做;该项目已经建成。

您说您想要构建它,它已经构建好了,所以我们完成了。 MSBuild 应该足够聪明,不会重做已经完成的工作;它并不完美,但在不浪费您的时间重新工作方面做得很好。

如果你想强制一个项目从头开始重建,包括做所有的分析,通常你会使用

/target:Rebuild

不是

/target:Build

如果您想让项目恢复到预建状态而不进行重建,您通常会这样做

/target:Clean

I am having an issue that I don't even know how to begin to diagnose.

那么今天是阅读项目文件并了解其工作原理以及阅读 msbuild 文档的好日子:

https://learn.microsoft.com/en-us/visualstudio/msbuild/walkthrough-using-msbuild?view=vs-2019

现在您知道如何开始诊断它了:在使用该工具之前阅读项目文件和您的工具文档

关于c# - 为什么 `dotnet msbuild` 会在第一次运行时失败并显示警告,然后第二次运行成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57063337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com