.net Sonarqube没有登记任何c#问题

.net Sonarqube没有登记任何c#问题,.net,sonarqube,code-analysis,.net,Sonarqube,Code Analysis,自上周五(2016年1月4日)起,我们在公司使用sonarqube。 不知何故,我们项目的一个问题全部解决了(实际上没有得到解决)。 现在这个项目再也没有问题了。我们甚至删除了sonarqube中的项目,并重新开始了分析,这也没有给出任何问题 我们尝试了许多不同的方法来解决问题 (即使故意出错,但这也不会在sonarqube中产生任何问题) 我们正在运行最新版本的sonarqube(版本5.4),我们从TFS 2015开始分析(使用sonarqube开始和结束构建步骤) 你知道为什么sonarq

自上周五(2016年1月4日)起,我们在公司使用sonarqube。 不知何故,我们项目的一个问题全部解决了(实际上没有得到解决)。 现在这个项目再也没有问题了。我们甚至删除了sonarqube中的项目,并重新开始了分析,这也没有给出任何问题

我们尝试了许多不同的方法来解决问题 (即使故意出错,但这也不会在sonarqube中产生任何问题)

我们正在运行最新版本的sonarqube(版本5.4),我们从TFS 2015开始分析(使用sonarqube开始和结束构建步骤)

你知道为什么sonarqube没有重新确认这个项目中的任何问题吗?而其他项目运作良好

更新:

在我们为此生成启用了代码覆盖率之后,会发生这种情况。但是禁用代码覆盖率不会使问题恢复(即使在删除sonarqube项目之后也不会)

更新2:

起始日志

2016-04-01T13:52:46.3608006Z Executing the powershell script: D:\TFS\Agents\tasks\SonarQubePreBuild\1.0.34\SonarQubePreBuild.ps1 
2016-04-01T13:52:48.8767055Z ##[debug]
2016-04-01T13:52:49.1486023Z SonarQube Scanner for MSBuild 1.1
2016-04-01T13:52:49.2491975Z Default properties file was not found at D:\TFS\Agents\tasks\SonarQubePreBuild\1.0.34\MSBuild.SonarQube.Runner-1.1\SonarQube.Analysis.xml
2016-04-01T13:52:49.2491975Z Pre-processing started.
2016-04-01T13:52:49.2501934Z Preparing working directories...
2016-04-01T13:52:49.2501934Z Checking for updates... 
2016-04-01T13:52:49.4643435Z SonarQube Scanner for MSBuild Begin Step 2.0 
2016-04-01T13:52:49.4653311Z 15:52:49.298  Default properties file was not found at D:\TFS\Agents\_work\2\.sonarqube\bin\SonarQube.Analysis.xml
2016-04-01T13:52:49.4812668Z 15:52:49.318  Updating build integration targets...
2016-04-01T13:52:49.5728988Z 15:52:49.34  Fetching analysis configuration settings... 
2016-04-01T13:52:50.6017668Z 15:52:50.48  Generating rulesets... 
2016-04-01T13:52:52.4025329Z 15:52:52.298  Provisioning analyzer assemblies... 
2016-04-01T13:52:52.4025329Z 15:52:52.3  Installing required Roslyn analyzers... 
2016-04-01T13:52:52.4035284Z Pre-processing succeeded.
端日志

2016-04-01T13:53:07.9072565Z Executing the powershell script: D:\TFS\Agents\tasks\SonarQubePostTest\1.0.36\SonarQubePostTest.ps1
2016-04-01T13:53:13.0399547Z SonarQube Scanner for MSBuild 1.1
2016-04-01T13:53:13.0439418Z Default properties file was not found at D:\TFS\Agents\tasks\SonarQubePreBuild\1.0.34\MSBuild.SonarQube.Runner-1.1\SonarQube.Analysis.xml
2016-04-01T13:53:13.0439418Z Post-processing started.
2016-04-01T13:53:13.2623017Z SonarQube Scanner for MSBuild End Step 2.0
2016-04-01T13:53:13.2632986Z 15:53:13.185  Fetching code coverage report information from TFS...
2016-04-01T13:53:13.2632986Z 15:53:13.188  Attempting to locate a test results (.trx) file...
2016-04-01T13:53:13.2632986Z 15:53:13.188  Located a test results file: D:\TFS\Agents\_work\2\TestResults\********_DENHELDER     2016-04-01 15_53_04.trx
2016-04-01T13:53:13.3739732Z WARNING: File is not under the project directory and cannot currently be analysed by SonarQube. File: C:\Users\********\AppData\Local\Temp\.NETFramework,Version=v4.5.AssemblyAttributes.cs, project: D:\TFS\Agents\_work\2\s\UrlNameSetter\Dev\******.Tools.UrlNameSetter\******.Tools.UrlNameSetterTests\******.Tools.UrlNameSetterTests.csproj
2016-04-01T13:53:13.3799577Z WARNING: File is not under the project directory and cannot currently be analysed by SonarQube. File: C:\Users\********\AppData\Local\Temp\.NETFramework,Version=v4.5.AssemblyAttributes.cs, project: D:\TFS\Agents\_work\2\s\UrlNameSetter\Dev\******.Tools.UrlNameSetter\******.Tools.UrlNameSetter\******.Tools.UrlNameSetter.csproj
2016-04-01T13:53:13.3849424Z SONAR_RUNNER_OPTS is not configured. Setting it to the default value of -Xmx1024m
2016-04-01T13:53:13.3899308Z Calling the SonarQube Scanner...
2016-04-01T13:53:13.6152663Z D:\TFS\Agents\_work\2\.sonarqube\bin\sonar-runner\bin\..
2016-04-01T13:53:13.8206640Z SonarQube Runner 2.4
2016-04-01T13:53:13.8206640Z Java 1.8.0_77 Oracle Corporation (64-bit)
2016-04-01T13:53:13.8206640Z Windows Server 2012 R2 6.3 amd64
2016-04-01T13:53:13.8216606Z SONAR_RUNNER_OPTS=-Xmx1024m
2016-04-01T13:53:13.8216606Z INFO: Error stacktraces are turned on.
2016-04-01T13:53:13.8216606Z INFO: Runner configuration file: D:\TFS\Agents\_work\2\.sonarqube\bin\sonar-runner\bin\..\conf\sonar-runner.properties
2016-04-01T13:53:13.8226578Z INFO: Project configuration file: D:\TFS\Agents\_work\2\.sonarqube\out\sonar-project.properties
2016-04-01T13:53:13.9243592Z INFO: Default locale: "en_US", source code encoding: "UTF-8"
2016-04-01T13:53:13.9243592Z INFO: Work directory: D:\TFS\Agents\_work\2\.sonarqube\out\.sonar
2016-04-01T13:53:14.0270583Z INFO: SonarQube Server 5.4
2016-04-01T13:53:15.4718195Z 15:53:15.217 INFO  - Load global repositories
2016-04-01T13:53:16.8497760Z 15:53:16.772 INFO  - Load global repositories (done) | time=1551ms
2016-04-01T13:53:16.9504838Z 15:53:16.848 INFO  - User cache: C:\Users\********\.sonar\cache
2016-04-01T13:53:17.5657725Z 15:53:17.407 INFO  - Load plugins index
2016-04-01T13:53:17.5666818Z 15:53:17.419 INFO  - Load plugins index (done) | time=12ms
2016-04-01T13:53:19.8280384Z 15:53:19.693 INFO  - Process project properties
2016-04-01T13:53:19.9287435Z 15:53:19.829 INFO  - Load project repositories
2016-04-01T13:53:20.4322672Z 15:53:20.341 INFO  - Load project repositories (done) | time=512ms
2016-04-01T13:53:20.5489246Z 15:53:20.379 INFO  - Apply project exclusions
2016-04-01T13:53:20.5489246Z 15:53:20.447 INFO  - Load quality profiles
2016-04-01T13:53:20.7553157Z 15:53:20.614 INFO  - Load quality profiles (done) | time=167ms
2016-04-01T13:53:20.7563196Z 15:53:20.620 INFO  - Load active rules
2016-04-01T13:53:22.6338067Z 15:53:22.584 INFO  - Load active rules (done) | time=1964ms
2016-04-01T13:53:22.6348044Z 15:53:22.597 WARN  - SCM provider autodetection failed. No SCM provider claims to support this project. Please use sonar.scm.provider to define SCM of your project.
2016-04-01T13:53:22.6348044Z 15:53:22.597 INFO  - Publish mode
2016-04-01T13:53:22.6348044Z 15:53:22.606 INFO  - -------------  Scan ******.Tools.UrlNameSetterTests
2016-04-01T13:53:22.9419040Z 15:53:22.840 INFO  - Load server rules
2016-04-01T13:53:23.1502914Z 15:53:23.109 INFO  - Load server rules (done) | time=269ms
2016-04-01T13:53:23.2599703Z 15:53:23.202 INFO  - Base dir: D:\TFS\Agents\_work\2\s\UrlNameSetter\Dev\******.Tools.UrlNameSetter\******.Tools.UrlNameSetterTests
2016-04-01T13:53:23.2599703Z 15:53:23.202 INFO  - Working dir: D:\TFS\Agents\_work\2\.sonarqube\out\.sonar\******.Tools_******.Tools_2AAE705C-6532-43CC-AE13-50D0CAF50141
2016-04-01T13:53:23.2609672Z 15:53:23.204 INFO  - Test paths: Properties/AssemblyInfo.cs, DealAndOrganisationTests.cs, UrlNameConversionTests.cs
2016-04-01T13:53:23.2609672Z 15:53:23.204 INFO  - Source encoding: UTF-8, default locale: en_US
2016-04-01T13:53:23.2609672Z 15:53:23.205 INFO  - Index files
2016-04-01T13:53:23.3616718Z 15:53:23.258 INFO  - 3 files indexed
2016-04-01T13:53:23.3626689Z 15:53:23.267 INFO  - Quality profile for cs: Sonar way
2016-04-01T13:53:24.1164564Z 15:53:23.921 INFO  - JaCoCoSensor: JaCoCo report not found : D:\TFS\Agents\_work\2\s\UrlNameSetter\Dev\******.Tools.UrlNameSetter\******.Tools.UrlNameSetterTests\target\jacoco.exec
2016-04-01T13:53:24.1174530Z 15:53:23.921 INFO  - JaCoCoItSensor: JaCoCo IT report not found: D:\TFS\Agents\_work\2\s\UrlNameSetter\Dev\******.Tools.UrlNameSetter\******.Tools.UrlNameSetterTests\target\jacoco-it.exec
2016-04-01T13:53:24.1184497Z 15:53:23.948 INFO  - Sensor Lines Sensor
2016-04-01T13:53:24.1184497Z 15:53:23.948 INFO  - Sensor Lines Sensor (done) | time=0ms
2016-04-01T13:53:24.1184497Z 15:53:23.948 INFO  - Sensor QProfileSensor
2016-04-01T13:53:24.1214418Z 15:53:23.975 INFO  - Sensor QProfileSensor (done) | time=27ms
2016-04-01T13:53:24.1214418Z 15:53:23.975 INFO  - Sensor org.sonar.plugins.csharp.CSharpCodeCoverageProvider$CSharpCoverageReportImportSensor
2016-04-01T13:53:24.1214418Z 15:53:23.992 INFO  - Parsing the Visual Studio coverage XML report D:\TFS\Agents\_work\2\TestResults\********_DENHELDER     2016-04-01 15_53_04\In\DENHELDER\********_DENHELDER     2016-04-01 15_53_01.coveragexml
2016-04-01T13:53:24.4265478Z 15:53:24.342 INFO  - Sensor org.sonar.plugins.csharp.CSharpCodeCoverageProvider$CSharpCoverageReportImportSensor (done) | time=367ms
2016-04-01T13:53:24.4275513Z 15:53:24.342 INFO  - Sensor SCM Sensor
2016-04-01T13:53:24.4275513Z 15:53:24.342 INFO  - No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it.
2016-04-01T13:53:24.4275513Z 15:53:24.342 INFO  - Sensor SCM Sensor (done) | time=0ms
2016-04-01T13:53:24.4295382Z 15:53:24.342 INFO  - Sensor Code Colorizer Sensor
2016-04-01T13:53:24.5412175Z 15:53:24.423 INFO  - Sensor Code Colorizer Sensor (done) | time=80ms
2016-04-01T13:53:24.5412175Z 15:53:24.423 INFO  - Sensor CPD Sensor
2016-04-01T13:53:24.5422081Z 15:53:24.423 INFO  - DefaultCpdIndexer is used for cs
2016-04-01T13:53:24.5422081Z 15:53:24.423 INFO  - Sensor CPD Sensor (done) | time=0ms
2016-04-01T13:53:24.5422081Z 15:53:24.424 INFO  - -------------  Scan ******.Tools.UrlNameSetter
2016-04-01T13:53:24.5432050Z 15:53:24.449 INFO  - Base dir: D:\TFS\Agents\_work\2\s\UrlNameSetter\Dev\******.Tools.UrlNameSetter\******.Tools.UrlNameSetter
2016-04-01T13:53:24.5432050Z 15:53:24.449 INFO  - Working dir: D:\TFS\Agents\_work\2\.sonarqube\out\.sonar\******.Tools_******.Tools_B15194FA-CD32-45C0-AF33-0159CBB19695
2016-04-01T13:53:24.5432050Z 15:53:24.449 INFO  - Source paths: UrlNameHelper.cs, Properties/AssemblyInfo.cs
2016-04-01T13:53:24.5442026Z 15:53:24.449 INFO  - Source encoding: UTF-8, default locale: en_US
2016-04-01T13:53:24.5442026Z 15:53:24.449 INFO  - Index files
2016-04-01T13:53:24.6449078Z 15:53:24.495 INFO  - 2 files indexed
2016-04-01T13:53:24.6459034Z 15:53:24.495 INFO  - Quality profile for cs: Sonar way
2016-04-01T13:53:24.6459034Z 15:53:24.515 INFO  - All FxCop rules are disabled, skipping its execution.
2016-04-01T13:53:24.6459034Z 15:53:24.515 INFO  - JaCoCoSensor: JaCoCo report not found : D:\TFS\Agents\_work\2\s\UrlNameSetter\Dev\******.Tools.UrlNameSetter\******.Tools.UrlNameSetter\target\jacoco.exec
2016-04-01T13:53:24.6469042Z 15:53:24.515 INFO  - JaCoCoItSensor: JaCoCo IT report not found: D:\TFS\Agents\_work\2\s\UrlNameSetter\Dev\******.Tools.UrlNameSetter\******.Tools.UrlNameSetter\target\jacoco-it.exec
2016-04-01T13:53:24.6469042Z 15:53:24.517 INFO  - Sensor Lines Sensor
2016-04-01T13:53:24.6469042Z 15:53:24.519 INFO  - Sensor Lines Sensor (done) | time=2ms
2016-04-01T13:53:24.6478973Z 15:53:24.519 INFO  - Sensor QProfileSensor
2016-04-01T13:53:24.6478973Z 15:53:24.519 INFO  - Sensor QProfileSensor (done) | time=0ms
2016-04-01T13:53:24.6478973Z 15:53:24.519 INFO  - Sensor org.sonar.plugins.csharp.CSharpSensor
2016-04-01T13:53:25.4116570Z 15:53:25.191 INFO  - SonarLint for Visual Studio version 1.10.0.0
2016-04-01T13:53:25.6130664Z 15:53:25.424 INFO  - 0/2 files analyzed, starting to analyze: D:\TFS\Agents\_work\2\s\UrlNameSetter\Dev\******.Tools.UrlNameSetter\******.Tools.UrlNameSetter\Properties\AssemblyInfo.cs
2016-04-01T13:53:26.5214017Z 15:53:26.447 INFO  - 1/2 files analyzed, starting to analyze: D:\TFS\Agents\_work\2\s\UrlNameSetter\Dev\******.Tools.UrlNameSetter\******.Tools.UrlNameSetter\UrlNameHelper.cs
2016-04-01T13:53:26.7729445Z 15:53:26.658 INFO  - Sensor org.sonar.plugins.csharp.CSharpSensor (done) | time=2139ms
2016-04-01T13:53:26.7876203Z 15:53:26.658 INFO  - Sensor org.sonar.plugins.csharp.CSharpCodeCoverageProvider$CSharpCoverageReportImportSensor
2016-04-01T13:53:26.8344834Z 15:53:26.658 INFO  - Parsing the Visual Studio coverage XML report D:\TFS\Agents\_work\2\TestResults\********_DENHELDER     2016-04-01 15_53_04\In\DENHELDER\********_DENHELDER     2016-04-01 15_53_01.coveragexml
2016-04-01T13:53:26.8454502Z 15:53:26.670 INFO  - Sensor org.sonar.plugins.csharp.CSharpCodeCoverageProvider$CSharpCoverageReportImportSensor (done) | time=12ms
2016-04-01T13:53:26.8534260Z 15:53:26.670 INFO  - Sensor SCM Sensor
2016-04-01T13:53:26.8544235Z 15:53:26.670 INFO  - No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it.
2016-04-01T13:53:26.8544235Z 15:53:26.670 INFO  - Sensor SCM Sensor (done) | time=0ms
2016-04-01T13:53:26.8544235Z 15:53:26.670 INFO  - Sensor Code Colorizer Sensor
2016-04-01T13:53:26.8554207Z 15:53:26.678 INFO  - Sensor Code Colorizer Sensor (done) | time=8ms
2016-04-01T13:53:26.8554207Z 15:53:26.678 INFO  - Sensor CPD Sensor
2016-04-01T13:53:26.8564173Z 15:53:26.679 INFO  - DefaultCpdIndexer is used for cs
2016-04-01T13:53:26.9591176Z 15:53:26.718 INFO  - Sensor CPD Sensor (done) | time=40ms
2016-04-01T13:53:26.9601149Z 15:53:26.719 INFO  - -------------  Scan UrlNameSetter
2016-04-01T13:53:26.9601149Z 15:53:26.732 INFO  - Base dir: D:\TFS\Agents\_work\2\s
2016-04-01T13:53:26.9601149Z 15:53:26.732 INFO  - Working dir: D:\TFS\Agents\_work\2\.sonarqube\out\.sonar
2016-04-01T13:53:26.9611114Z 15:53:26.732 INFO  - Source encoding: UTF-8, default locale: en_US
2016-04-01T13:53:26.9611114Z 15:53:26.746 INFO  - JaCoCoSensor: JaCoCo report not found : D:\TFS\Agents\_work\2\s\target\jacoco.exec
2016-04-01T13:53:26.9611114Z 15:53:26.746 INFO  - JaCoCoItSensor: JaCoCo IT report not found: D:\TFS\Agents\_work\2\s\target\jacoco-it.exec
2016-04-01T13:53:26.9621086Z 15:53:26.748 INFO  - Sensor Lines Sensor
2016-04-01T13:53:26.9621086Z 15:53:26.748 INFO  - Sensor Lines Sensor (done) | time=0ms
2016-04-01T13:53:26.9621086Z 15:53:26.748 INFO  - Sensor SCM Sensor
2016-04-01T13:53:26.9621086Z 15:53:26.748 INFO  - No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it.
2016-04-01T13:53:26.9631057Z 15:53:26.748 INFO  - Sensor SCM Sensor (done) | time=0ms
2016-04-01T13:53:26.9631057Z 15:53:26.748 INFO  - Sensor Code Colorizer Sensor
2016-04-01T13:53:26.9631057Z 15:53:26.748 INFO  - Sensor Code Colorizer Sensor (done) | time=0ms
2016-04-01T13:53:26.9641027Z 15:53:26.748 INFO  - Sensor CPD Sensor
2016-04-01T13:53:26.9641027Z 15:53:26.748 INFO  - Sensor CPD Sensor (done) | time=0ms
2016-04-01T13:53:26.9641027Z 15:53:26.866 INFO  - Analysis report generated in 103ms, dir size=46 KB
2016-04-01T13:53:26.9651084Z 15:53:26.882 INFO  - Analysis reports compressed in 16ms, zip size=18 KB
2016-04-01T13:53:27.4746044Z 15:53:27.205 INFO  - Analysis report uploaded in 322ms
2016-04-01T13:53:27.4746044Z 15:53:27.206 INFO  - ANALYSIS SUCCESSFUL, you can browse http://sonarqube:9000/dashboard/index/******.Tools
2016-04-01T13:53:27.4756021Z 15:53:27.206 INFO  - Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
2016-04-01T13:53:27.4756021Z 15:53:27.206 INFO  - More about the report processing at http://sonarqube:9000/api/ce/task?id=AVPSGZxz3AQs4Fy3Ol1M
2016-04-01T13:53:27.5842827Z INFO: ------------------------------------------------------------------------
2016-04-01T13:53:27.5852796Z INFO: EXECUTION SUCCESS
2016-04-01T13:53:27.5852796Z INFO: ------------------------------------------------------------------------
2016-04-01T13:53:27.5852796Z Total time: 13.674s
2016-04-01T13:53:27.5862785Z Final Memory: 11M/249M
2016-04-01T13:53:27.5862785Z INFO: ------------------------------------------------------------------------
2016-04-01T13:53:27.5862785Z The SonarQube Scanner has finished
2016-04-01T13:53:27.5872738Z 15:53:27.529  Creating a summary markdown file...
2016-04-01T13:53:27.5872738Z 15:53:27.53  Analysis results: http://sonarqube:9000/dashboard/index/******.Tools
2016-04-01T13:53:27.5872738Z Post-processing succeeded.
2016-04-01T13:53:27.6012315Z The build was not set to fail if the associated quality gate fails.
更新3:

更新4:

看起来这是c#profiler的问题,我们现在添加了一些Asp.net mvc项目,并在javascript和css profiler的基础上得到了很多问题,但是有0个c#问题(这很不可能)

更新5:

浏览TFS构建的日志,我看到sonarqube问题在某个地方被重新定义为c#,但它们不会最终出现在sonarqube自身示例中:

UrlNameSetter\Dev\******.Tools.UrlNameSetter\******.Tools.UrlNameSetter\UrlNameHelper.cs(31,13): Warning S1067: Reduce the number of conditional operators (4) used in the expression (maximum allowed 3).
2>UrlNameHelper.cs(31,13): warning S1067: Reduce the number of conditional operators (4) used in the expression (maximum allowed 3). [D:\TFS\Agents\Agent-47\_work\4\s\UrlNameSetter\Dev\******.Tools.UrlNameSetter\******.Tools.UrlNameSetter\******.Tools.UrlNameSetter.csproj]
更新6:

我发现了一个roslyn json日志文件(在结束过程中引用),其中还包含sonarqube应该看到的问题

更新7:

我重新安装了sonarqube,但没有效果。因此,我开始认为问题是由tfs 2015内置的sonarqube runner引起的

更新8:

现在我很确定这不是sonarqube安装,我在我的开发pc上运行了sonarqube,这确实给sonarqube带来了问题。。。
搜索仍在继续

项目的质量配置文件是否可能已更改?

多亏了@fluf,我们发现安装visual studio 2015 update 2导致了这些问题

这里的根本问题是什么还不清楚,但它现在起作用了

解决方法: 删除visual studio 2015的更新2安装,并将其替换为更新1或不带更新的安装。
两者都能很好地执行构建,并在TFS中生成代码覆盖率文件。

我们遇到了同样的问题。用C#5.3插件升级到sonarqube 5.6确实解决了我们的问题

我们只有默认的“Sonarway”质量配置文件,并且没有更改任何设置。此外,所有规则都在默认设置上。您是否有可能在TFS上配置了两个SonarQube扫描仪?日志显示了“用于MSBuild 1.1的SonarQube扫描仪”和“用于MSBuild 2.0的SonarQube扫描仪”的行。您希望在
UrlNameHelper.cs
上出现问题,对吗?你能附上这个分析的日志吗?没错。明天当我回到办公室时,我会把他们拉上来。谢谢你advance@n_stan查看pastebin链接中的新backgorund日志您是否可能在构建服务器上安装了vs 2015 sp2?我的问题与您的问题完全相同,它是在我更新到sp2后开始的。Visual Studio 2015 Update 2更改了问题报告格式,因此我们无法分析该文件。你能检查一下C-sharp插件的5.1.v5.1版本是否已经发布,我会看看这是否解决了问题。变更日志说它应该有江户,@darren steadman“问题”在更新后仍在工作。我仍然需要弄清楚为什么我的codecoverage没有恢复。除了《资源》的报道之外,这很好。测试是否按应有的方式运行?tfs构建中是否启用了代码覆盖率?这个答案让我找到了VS2015更新3的解决方案!我的C#扫描仪已经过时,但升级到5.3.2版后,VS警告将由声纳进行分析。谢谢@odalet不客气,很高兴你恢复了工作Hello,欢迎来到StackOverflow。请花些时间阅读帮助页面,特别是命名和的部分。更重要的是,请阅读。您可能还想了解。