title: Angular 2 RC5 => RC6 migration causes Injector problems
body: <p>I had an Angular2 RC5 application that was working perfectly, after upgrading to RC6 my application stops working with message:</p>
  
  <blockquote>
    <p>Error: Can't resolve all parameters for LoginComponent: (?, ?).</p>
  </blockquote>
  
  <p>I have fairly typical Angular2 setup, here is the code for <code>LoginComponent</code>, every injected parameter in constructor has <code>@Injectable()</code> annotation</p>
  
  <pre><code>import {AuthService} from "../../auth/auth-service";
  
  import {ActivatedRoute, Router} from "@angular/router";
  import {Component, Inject, OnInit} from '@angular/core';
  
  @Component({
    selector: 'login-component',
    templateUrl: 'login/login.html',
    styleUrls: ['login/login.css']
  })
  export class LoginComponent {
      private model = {login: '', password: ''};
  
      constructor(private authService: AuthService, private router: Router) {
      }
  
  
      protected doLogin(event: Event) {
          this.authService.login(this.model.login, this.model.password).then(() =&gt; {
              this.router.navigate(['/landing']);
          });
      }
  }
  </code></pre>
  
  <p>Here is app-module:</p>
  
  <pre><code>import {NgModule} from '@angular/core';
  import {HttpModule} from '@angular/http';
  import {BrowserModule} from '@angular/platform-browser';
  import {FormsModule} from '@angular/forms';
  
  import {AppService} from './app-service'
  import {AuthService} from "./auth/auth-service";
  import {RouterModule} from '@angular/router';
  import {AppComponent} from "./component/app-component";
  import {ChessComponent} from './component/chess/chess-component';
  import {LoginComponent} from "./component/login/login-component";
  import {LandingComponent} from "./component/landing/landing-component";
  import {AuthGuardService} from "./auth/auth-guard-service";
  import {GuidService} from "./shared/guid-service";
  import {EchoService} from "./io/echo-service";
  import {PermissionsService} from "./permissions-service";
  import {
      EnumerateSetValuesPipe, EnumerateMapPipe, EnumerateMapKeysPipe, EnumerateMapValuesPipe,
      EnumerateObjectPipe, EnumerateObjectKeysPipe, EnumerateObjectValuesPipe,
      NeighbouringValuesPipe
  } from "./shared/pipes";
  
  import { TinyComponent } from "./component/tiny/tiny";
  import {HtmlService} from "./component/docs/html-service";
  import {DocsComponent} from "./component/docs/docs-component";
  
  @NgModule({
      imports: [
          HttpModule,
          FormsModule,
          BrowserModule,
          RouterModule.forRoot([{
              path: '',
              redirectTo: '/landing',
              pathMatch: 'full'
          }, {
              path: 'login',
              component: LoginComponent
          }, {
              path: 'docs',
              component: DocsComponent,
              canActivate: [AuthGuardService]
          }, {
              path: 'chess',
              component: ChessComponent,
              canActivate: [AuthGuardService]
          }, {
              path: 'landing',
              component: LandingComponent,
          }])
      ],
      providers: [
          AppService,
          AuthService,
          GuidService,
          EchoService,
          HtmlService,
          AuthGuardService,
          PermissionsService
      ],
      declarations: [
          AppComponent,
          TinyComponent,
          ChessComponent,
          LoginComponent,
          LandingComponent,
  
          EnumerateSetValuesPipe,
          EnumerateMapPipe,
          EnumerateMapKeysPipe,
          EnumerateMapValuesPipe,
          EnumerateObjectPipe,
          EnumerateObjectKeysPipe,
          EnumerateObjectValuesPipe,
          NeighbouringValuesPipe
      ],
      bootstrap: [
          AppComponent
      ]
  })
  export class AppModule {
      public constructor() {
  
      }
  }
  </code></pre>
  
  <p>Not sure how to debug such problem... Any thoughts?</p>