Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从TeamCity执行Dotnet build时表现不同_C#_.net Core_Teamcity_Dotnet Build - Fatal编程技术网

C# 从TeamCity执行Dotnet build时表现不同

C# 从TeamCity执行Dotnet build时表现不同,c#,.net-core,teamcity,dotnet-build,C#,.net Core,Teamcity,Dotnet Build,我们看到一个Lucene.NET analyzer构建警告,在为我们的ASP.NET核心3.1 web应用之一执行dotnet构建时,该警告不应该出现。奇怪的是,这个警告似乎只有在TeamCity中的.NET运行程序执行时才会出现;直接从PowerShell运行程序运行dotnet build命令或从同一台计算机上的PowerShell控制台(使用相同的用户帐户、相同的文件夹、相同的代码)运行dotnet build命令时(正确)不会发生这种情况 构建警告实际上是由于(在后来的Lucene.NE

我们看到一个Lucene.NET analyzer构建警告,在为我们的ASP.NET核心3.1 web应用之一执行
dotnet构建时,该警告不应该出现。奇怪的是,这个警告似乎只有在TeamCity中的.NET运行程序执行时才会出现;直接从PowerShell运行程序运行
dotnet build
命令或从同一台计算机上的PowerShell控制台(使用相同的用户帐户、相同的文件夹、相同的代码)运行
dotnet build
命令时(正确)不会发生这种情况

构建警告实际上是由于(在后来的Lucene.NET版本中已修复),但关键是我们看到了不同的行为

我们已经尝试运行构建日志中显示的完全相同的命令,包括将TeamCity生成的RSP文件传递给它。不过,在.NET runner之外,我们无法重现警告。我们确认,相同的用户帐户运行该进程,使用相同的NuGet缓存和dotnet.exe(以及.NET SDK),在相同的文件夹中运行相同的代码和参数

我们能想到的唯一一件事是.NET插件以不同的方式执行
dotnet build
,但这种方式在构建日志中是不可见的。然而,我们不知道还有什么可以尝试或调查

你能帮我找出这两个版本的区别吗?提前谢谢你


我以前在上问过这个问题,但没有得到答复。

我们最终只是直接运行
dotnet build
,而没有使用.NET Runner。它还大大缩短了某些构建的时间(40-50%,其中有很多构建警告)。

我们最终只是直接运行
dotnet build
,而没有使用.NET Runner。它还大大缩短了某些构建的时间(40-50%,其中有很多构建警告)。

我知道
dotnet build
和visualstudio做的事情非常不同。不知道用什么方法。可能是team city.NET runner使用Visual Studio而不是
dotnet
。如果在构建脚本中使用PowerShell和dotnet,它的行为是否正确?是的,如果我们使用与PowerShell构建步骤参数相同的同一命令,则它是正确的,就像在VM上的PS控制台中一样。这个问题只有在使用.NET Runner时才会出现(这是一个我们是否愿意使用它的问题,我认为这对于格式良好的日志是必要的,但我们正在调查)。根据您使用的Team City版本,应该有一个名为“.NET Core(dotnet)”的
Runner类型。我会用那个。嗯,我不知道这个插件有什么不同(“.NET”插件使用相同的dotnet.exe命令),但是感谢您的提示,我们会检查它。我知道,
dotnet build
和Visual Studio的做法非常不同。不知道用什么方法。可能是team city.NET runner使用Visual Studio而不是
dotnet
。如果在构建脚本中使用PowerShell和dotnet,它的行为是否正确?是的,如果我们使用与PowerShell构建步骤参数相同的同一命令,则它是正确的,就像在VM上的PS控制台中一样。这个问题只有在使用.NET Runner时才会出现(这是一个我们是否愿意使用它的问题,我认为这对于格式良好的日志是必要的,但我们正在调查)。根据您使用的Team City版本,应该有一个名为“.NET Core(dotnet)”的
Runner类型。我会用那个。嗯,我不知道这个插件有什么不同(“.NET”插件使用相同的dotnet.exe命令),但是谢谢你的提示,我们会检查它的。