当代码检查后ReSharper检测到“错误”时,如何使我的代码构建失败?
我与ReSharper一起在Visual Studio 2017中使用C#。我已将可能的'System.NullReferenceException'的检查严重性设置为显示为“错误”。此设置仅对错误代码显示红色下划线,但是如果我只是忽略它,VS构建仍然会成功。如果开发人员忽略ReSharper检查发现的此类错误,我想使构建失败。
答案 0 :(得分:1)
恐怕Resharper似乎暂时不支持此选项。
1。我认为import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { PostService } from './services/post.service';
import { HttpClient, HttpClientModule } from '@angular/common/http';
@NgModule({
declarations: [AppComponent],
entryComponents: [],
imports: [
BrowserModule,
IonicModule.forRoot(),
AppRoutingModule,
HttpClientModule
],
providers: [
{provide:"apiUrl",useValue:"https://jsonplaceholder.typicode.com/"},
StatusBar,
SplashScreen,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
PostService,
HttpClient
],
bootstrap: [AppComponent]
})
export class AppModule {}
中的<ion-app>
<ion-split-pane>
<ion-menu>
<ion-header>
<ion-toolbar>
<ion-title>Menu</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<ion-menu-toggle auto-hide="false" *ngFor="let p of appPages">
<ion-item [routerDirection]="'root'" [routerLink]="[p.url]">
<ion-icon slot="start" [name]="p.icon"></ion-icon>
<ion-label>
{{p.title}}
</ion-label>
</ion-item>
</ion-menu-toggle>
</ion-list>
</ion-content>
</ion-menu>
<ion-router-outlet main></ion-router-outlet>
</ion-split-pane>
</ion-app>
级别类似于显示红色下划线,以指示可能存在帮助改进代码的风险。红色表示此问题值得关注。实际上,这是由我们控制的事情,我们决定将其设置为错误(红线)或警告(蓝线?)。
但是msbuild(vs中的构建系统)无法识别这种潜在的代码问题。因此,构建将忽略这些潜在问题并获得成功。
2。对于Resharper中的构建设置,我尝试了如下的msbuild设置和编译器设置:
我将“潜在代码质量问题”中的每个元素设置为error
。此外,我设置了与空引用相关的设置,如下所示:
此后,我创建了一个简单的C#\Potential Code Quality Issues
,但是该构建忽略了该操作并成功。当我使用Resharper构建时,结果相同。(Resharper options => Tools => Build => Build engine)因此,这可能是一个否定的答案:(