Why is my provider/service not found?
<p>From what I can tell, I have followed the <a href="https://angular.io/docs/ts/latest/guide/ngmodule.html#!#core-module" rel="nofollow noreferrer">docs</a> to create a <code>CoreModule</code> to provide my services in Angular 2.0.0. I also tried the suggestions from:</p>

<p><a href="https://stackoverflow.com/questions/39890722/provide-core-singleto-services-module-at-angular-2/39890882">Provide core singleton services module in Angular 2</a></p>

<p><a href="https://stackoverflow.com/questions/38928141/angular2-rc5-ngmodule-no-provider-for-nameservice?rq=1">Angular2 RC5 ngModule: No Provider For NameService</a></p>

<p>To no avail. What is required to get services "wired up"? The error I am getting with the below code is:</p>

<blockquote>
  <p>No provider for AuthService!</p>
</blockquote>

<p><strong>app.module.ts</strong></p>

<pre><code>import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { AppRoutingModule } from './app-routing.module';

//Modules/Components
import { AppComponent } from './app.component';
import { SignInModule } from './sign-in/signin.module';
import { CoreModule } from './services/core.module';

@NgModule({
    imports: [BrowserModule, AppRoutingModule, FormsModule,
        CoreModule, SignInModule],
    declarations: [AppComponent],
    bootstrap: [AppComponent],
})
export class AppModule { }
</code></pre>

<p><strong>services/core.module.ts</strong></p>

<pre><code>import { NgModule } from '@angular/core';

// Services
import { SignalRService } from './signalr.service';
import { AuthService } from './auth.service';
import { UserSettingsService } from './user-settings.service';

@NgModule({
    providers: [SignalRService, AuthService, UserSettingsService]
})
export class CoreModule {
}
</code></pre>

<p><strong>services/auth.service.ts</strong></p>

<pre><code>import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
import { SignalRService } from './signalr.service';
import { ISignInProvider } from '../sign-in/signin.interface';

@Injectable()
export class AuthService {
    constructor(private signalR: SignalRService, private router: Router) {
    }
..
}
</code></pre>

<p><strong>sign-in/signin.module.ts</strong></p>

<pre><code>import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { GoogleSignInComponent } from './google-signin.component';

@NgModule({
    imports: [CommonModule, FormsModule],
    declarations: [GoogleSignInComponent],
    exports: [GoogleSignInComponent],
})
export class SignInModule { }
</code></pre>

<p><strong>sign-in/google-signin.component.ts</strong> (I think this is where the error points to)</p>

<pre><code>import { Component, AfterViewInit } from '@angular/core';
import { AuthService } from '../services/auth.service';
import { ISignInProvider } from './signin.interface';

@Component({
    moduleId: module.id,
    selector: 'google-signin',
    templateUrl: 'google-signin.component.html',
})
export class GoogleSignInComponent implements AfterViewInit, ISignInProvider     {
    constructor(private authService: AuthService) {
    }
}
</code></pre>

<p>The sign in component <em>is</em> in a feature module (<code>SignInModule</code>) but that is imported in the app module. I tried using <code>forRoot</code> in <code>CoreModule</code> but it seemed to have no effect. I couldn't get the SystemJS aliases working as suggested in the other question but am unsure why that would fix anything anyways.</p>

<p>Not using a <code>CoreModule</code> and putting the providers directly on <code>AppModule</code> doesn't work either. I haven't put them directly on the components as it is my understanding that it is bad practice. The sign-in component/module is not lazy loaded as far as I can tell, and it isn't part of the router (it is in the app component template).</p>

<p>Where is my error, or alternatively, what should I be doing differently?</p>