如何使Visual Studio构建因ReSharper错误而失败

时间:2019-04-30 10:31:34

标签: visual-studio msbuild visual-studio-2017 resharper

当代码检查后ReSharper检测到“错误”时,如何使我的代码构建失败?

我与ReSharper一起在Visual Studio 2017中使用C#。我已将可能的'System.NullReferenceException'的检查严重性设置为显示为“错误”。此设置仅对错误代码显示红色下划线,但是如果我只是忽略它,VS构建仍然会成功。如果开发人员忽略ReSharper检查发现的此类错误,我想使构建失败。

enter image description here

1 个答案:

答案 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设置和编译器设置:

enter image description here

enter image description here

我将“潜在代码质量问题”中的每个元素设置为error。此外,我设置了与空引用相关的设置,如下所示:

enter image description here

此后,我创建了一个简单的C#\Potential Code Quality Issues,但是该构建忽略了该操作并成功。当我使用Resharper构建时,结果相同。(Resharper options => Tools => Build => Build engine)因此,这可能是一个否定的答案:(