Angular 错误:StaticInjectorError(AppModule)[NgIf->;ViewContainerRef]:升级到7后

Angular 错误:StaticInjectorError(AppModule)[NgIf->;ViewContainerRef]:升级到7后,angular,angular7,Angular,Angular7,我在不同的项目中构建了一个共享模块,然后编译成可安装的npm模块。然后我就可以在其他角度项目中使用我的模块。在angular 6之前的可共享组件,以及我以前的项目。我决定今天把我的项目升级到angular 7。当我开始这个项目时,它工作得很好,正如预期的那样 然而,在我将其打包到npm install-able并安装到其他项目中之后,我的项目失败了 错误错误:StaticInjectorError(AppModule)[NgIf->ViewContainerRef]: StaticInjecto

我在不同的项目中构建了一个共享模块,然后编译成可安装的npm模块。然后我就可以在其他角度项目中使用我的模块。在angular 6之前的可共享组件,以及我以前的项目。我决定今天把我的项目升级到angular 7。当我开始这个项目时,它工作得很好,正如预期的那样

然而,在我将其打包到npm install-able并安装到其他项目中之后,我的项目失败了

错误错误:StaticInjectorError(AppModule)[NgIf->ViewContainerRef]: StaticInjectorError(平台:核心)[NgIf->ViewContainerRef]: NullInjectorError:没有ViewContainerRef的提供程序

然后我升级了嵌入项目模块以匹配可共享项目,但它仍然存在。我注意到,
commonModule
公开的所有指令都因上述错误而中断。然而,可共享项目是独立工作的。安装的组件似乎无法识别
commonModule
,即使它存在。下面是我如何在项目中使用这些组件

import { LoaderModule } from "my-angular-components/dist/loader";

@NgModule({
    imports: [
        BrowserModule,
        LoaderModule,
        RouterModule.forRoot(ROUTES, { useHash: true })
    ],
    declarations: [],
    ...
})
我的
tsconfig.json

{
"compilerOptions": {
        "baseUrl": ".",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "importHelpers": true,
        "lib": [
            "es6",
            "es7",
            "es2015",
            "dom"
        ],
        "module": "es2015",
        "moduleResolution": "node",
        "noEmitHelpers": true,
        "noImplicitAny": false,
        "outDir": "lib",
        "rootDir": ".",
        "sourceMap": true,
        "skipLibCheck": true,
        "target": "es5",
    }
角度7是否有任何断裂变化,导致公共模块断裂?如果我将它们都恢复为角度6,而不是角度7,那么这是可行的。项目也可以独立工作,无需将其他组件作为模块安装。请提供帮助。

在ng serve上使用--aot或--preserve符号链接标志可能会解决此问题