小编sso*_*nez的帖子

Azure上的Asp.Net Core 2.0产生了502.5

我有一个小型的Web应用程序,使用部署在Azure上的Asp.Net Core 1.1开发,效果很好.我刚刚迁移了项目以使用Asp.Net Core 2.0并尝试在Azure上部署它.部署进行得很顺利,但是当我打开网站时,出现了502.5错误.当我检查我的Azure日志流时,我收到以下错误:

当CGI应用程序未返回有效的HTTP标头集,或者代理或网关无法将请求发送到父网关时,会发生此错误.如果不是CGI问题,您可能需要获取网络跟踪或联系代理服务器管理员.

毫无疑问,它在我的开发机器上使用相同的代码运行良好.请注意,我也在使用Entity Framework Core 2.0,尽管我在Azure上停用了数据库创建(以检查它是否不是原因).

有关信息,我从1.1迁移到2.0的方法是将目标框架设置更改为"netcoreapp2.0"并使用NuGet包"Microsoft.AspNetCore.All".只是为了确定,我还删除了我的发布配置文件并重新创建了一个.

是否有可能Azure上尚未提供Asp.Net Core 2.0?我是Asp.Net Core的新手,因此我不知道Azure上何时提供新版本.

编辑

当我尝试通过natemcmaster提出的调试控制台使用dot net CLI运行我的应用程序时,我遇到了以下问题:

未处理的异常:System.IO.FileLoadException:无法加载文件或程序集'Microsoft.AspNetCore.Hosting.Abstractions,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = adb9793829ddae60'.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

我在我的桌面上下载了DLL并使用Dot Net Peak检查了版本,事实上,DLL是1.1.2,虽然我使用Visual Studio创建项目并直接发布它,因此它是Visual Studio的问题吗?还是Nuget?

azure asp.net-core asp.net-core-2.0

32
推荐指数
3
解决办法
1万
查看次数

缺少具有角度的区域设置"XXX"的区域设置数据

我目前通过这种方式在" en-US " 上定义" LOCALE_ID " :

@NgModule({
    providers: [{ provide: LOCALE_ID, useValue: "en-US" }, ...],
    imports: [...],
    bootstrap: [...]
})
Run Code Online (Sandbox Code Playgroud)

它运作得很好.但是,为了测试法语中日期的样子,我用" fr-FR " 替换了" en-US " 然后我得到了错误:

缺少区域设置"fr-FR"的区域设置数据.

我做了一些研究,但没有发现任何与之相关的内容.法语的语言环境是否包含在默认包中?这是一个不同的包吗?我必须自己创建它们吗?

angular-i18n angular

24
推荐指数
2
解决办法
2万
查看次数

Flexbox,最小高度和IE11

我正在尝试使用flexbox进行简单的设计,但我遇到了IE11的问题.基本上,我想要一个仅在内容不够高时才能粘在底部的页脚.我这样做对Chrome没有任何问题:

*,
*:after,
*:before {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
}
Run Code Online (Sandbox Code Playgroud)
<header>
  Header
</header>
<main>
  <p>Main</p>
  <p>Main</p>
  <p>Main</p>
  <p>Main</p>
  <p>Main</p>
</main>
<footer>
  Footer
</footer>
Run Code Online (Sandbox Code Playgroud)

只需<p>main</p>使用IE11来查看错误行为的数量即可.

有没有办法在没有JavaScript的情况下实现这一目标?

html css flexbox internet-explorer-11

16
推荐指数
3
解决办法
2万
查看次数

我不能再使用rxjs 5.5.2的forkjoin

最近,我决定将使用Angular的"快速入门"从头开始创建的大项目迁移到使用Angular CLI 1.5.5的版本.现在,我正在解决出现的各种问题,我无法解决这个问题.

我读到最好使用rxjs的lettable操作符,我做了它并且它工作得很好.但是,我也有这些代码行:

import { Observable } from "rxjs/Observable";
import "rxjs/add/observable/forkjoin";

...

let piecesGrouping$: Observable<IGroupedPiece[]>[] = deliveries.map(delivery => this._pieceService.getGroupedPieces(delivery.pieces));

Observable
  .forkJoin(...piecesGrouping$)
  .subscribe((groups) => {
    groups.forEach((group, i) => deliveries[i].groupedPieces = group);

    resolve();
  });
Run Code Online (Sandbox Code Playgroud)

他们在之前使用rxjs 5.4.3的版本中工作得很好,现在使用rxjs 5.5.2,他们不再使用了,我得到以下错误:

错误:未捕获(在承诺中):TypeError:无法读取未定义的属性'apply'TypeError:无法读取未定义的属性'apply'

我试图替换传播操作符,piecesGrouping$[0], piecesGrouping$[1]因为错误本身没有说什么forkJoin,然后我得到:

错误:未捕获(在承诺中):TypeError: WEBPACK_IMPORTED_MODULE_8_rxjs_Observable .a.forkJoin不是函数TypeError: WEBPACK_IMPORTED_MODULE_8_rxjs_Observable .a.forkJoin不是函数

所以看起来我输入forkJoin错误的方式.我试图从"rxjs/observable/forkJoin"导入它,但它也没有用.

我错过了什么?

rxjs angular-cli angular

15
推荐指数
3
解决办法
9302
查看次数

等效于角度1,否则在Angular 2中路由

我正在为我的应用程序使用Angular 2路由,它工作得很好,但我不知道如何定义"其他"路由.因此,如果当前URL与任何"支持"路由不对应,则将显示的路由.

以下是我当前配置的示例:

@RouteConfig([
    { path: '/', name: 'Home', component: StoryComponent, useAsDefault: true },
    { path: '/story', name: 'Story', component: StoryComponent },
    { path: '/subscription', name: 'Subscription', component: SubscriptionComponent}
])
Run Code Online (Sandbox Code Playgroud)

javascript angularjs typescript angular

13
推荐指数
2
解决办法
6157
查看次数

angular2:找不到模块'@ angular/core'

我按照angular2 快速启动创建我的项目,一切正常,但我的"tsc -w"命令行不断告诉我:

app/components/company/company.ts(1,36): error TS2307: Cannot find module '@angular/core'.
app/components/company/company.ts(5,22): error TS2307: Cannot find module '@angular/router'.
app/components/mission/mission.ts(1,36): error TS2307: Cannot find module '@angular/core'.
app/components/mission/mission.ts(3,22): error TS2307: Cannot find module '@angular/router'.
Run Code Online (Sandbox Code Playgroud)

还有很多其他的这样的路线.但是,一切都已成功编译,我的应用程序工作正常,但将所有这些警告/错误作为真正的错误在它们中间丢失是非常烦人的.

我正在使用Angular2 rc1,TypeScript 1.8.10,WebStorm EAP(尽管我没有使用WebStorm TypeScript编译系统,我依赖于带有"tsc -w"命令行的开放式终端).

我在SO上检查了与之相关的其他问题,但我找不到任何真正帮助我的东西.

更新

这是我的tsconfig.json文件:

{
  "compilerOptions": {
    "target": "es5",
    "sourceMap": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "module": "system",
    "noImplicitAny": false,
    "outDir": "js",
    "rootDir": "app"
  },
  "exclude": [
    "node_modules",
    "typings/main",
    "typings/main.d.ts"
  ]
}
Run Code Online (Sandbox Code Playgroud)

typescript angular

13
推荐指数
2
解决办法
4万
查看次数

注入与Angular 2的全局静态类

我正在创建一个项目,我需要一个"常量"类来包含一些配置值.以下是此类的摘录:

export class Constants
{
    static Configuration = class
    {
        static CookieName:string = 'etl_language';
    };

    ...

    static View = class
    {
        static Militaries:string = 'militaries';
        static Mutants:string = 'mutants';
        static Objects:string = 'objects';
        static Scientists:string = 'scientists';
    };
}
Run Code Online (Sandbox Code Playgroud)

当我在Angular 2的组件中时,我可以通过导入它来使用该类:

import {Constants} from "../../misc/constants";
Run Code Online (Sandbox Code Playgroud)

然后,只需参考它:

this.cookieName = Constants.Configuration.CookieName;
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但我觉得我应该使用Angular 2的依赖注入引擎在构造函数中注入对该类的引用,但它似乎有点矫枉过正.但是,我觉得我违反了做事的"角度方式",所以我不知道我是否可以坚持我的解决方案,或者我是否必须使用DI.

有什么建议?

dependency-injection angular

12
推荐指数
1
解决办法
2万
查看次数

ng14 中具有强类型表单的 FormBuilder

我有以下表格:

const enum Fields {
  FirstName = 'firstName',
  LastName = 'lastName'
}

interface FormType {
  [Fields.FirstName]: FormControl<string | null>;
  [Fields.LastName]: FormControl<string | null>;
}

public form!: FormGroup<FormType>;

this.form = new FormGroup({
  [Fields.FirstName]: new FormControl(null, { validators: Validators.required }),
  [Fields.LastName]: new FormControl(null, { validators: Validators.required }),
});
Run Code Online (Sandbox Code Playgroud)

使用 theenum是我为了避免输入错误而养成的习惯。

当我这样做时this.form.getRawValue().firstName, 的类型firstName被正确定义为string | null。但是,我更喜欢使用FormBuilder来构建我的表单,但我找不到使用 来翻译上面表单的方法FormBuilder。我试过这个:

this.form = this._fb.group<FormType>({
  [Fields.FirstName]: ['', Validators.required],
  [Fields.LastName]: ['', Validators.required],
});
Run Code Online (Sandbox Code Playgroud)

我当然可以使用一个FormGroup没有任何类型的简单的,但它会达不到目的:p

然而,这甚至不能作为 的推断类型 …

formbuilder angular angular-reactive-forms angular14

11
推荐指数
1
解决办法
1万
查看次数

“持续时间”类型中不存在属性“格式”

我正在尝试在 TypeScript 中使用“moment-duration-formation”,但是即使它有效,webpack 仍然抱怨它无法在线找到“format”方法:

return moment.duration(value, "minutes").format("...");
Run Code Online (Sandbox Code Playgroud)

这是package.json

{
  "devDependencies": {
    "@types/moment-duration-format": "^1.3.7"
  },
  "dependencies": {
    "moment": "^2.18.1",
    "moment-duration-format": "^1.3.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

和 tsconfig.json:

{
  "compilerOptions": {
    "typeRoots": [ "./node_modules/@types" ]
  }
}
Run Code Online (Sandbox Code Playgroud)

在 (angular2) 组件中:

import * as moment from "moment";
import * as momentDurationFormat from "moment-duration-format";

...

let result: string = moment.duration(this.selectedHangarDistance * 10, "minutes").format("...")
Run Code Online (Sandbox Code Playgroud)

我也尝试过

import "moment-duration-format";
Run Code Online (Sandbox Code Playgroud)

但它并没有改变任何东西:

[at-loader] ./src/app/components/building/shop/shop.component.ts:190:81 TS2339 中出现错误:类型“持续时间”上不存在属性“格式”。

momentjs typescript webpack angular

9
推荐指数
1
解决办法
9281
查看次数

用于ng-template的ViewChildren

我有一个angular2组件,模板看起来像这样:

<div>
    <div><ng-template #left></ng-template></div>
    <div><ng-template #right></ng-template></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我希望能够检索所有ng-template元素的引用,ViewChildren但我不知道我需要在括号之间传递的类型.

angular

8
推荐指数
1
解决办法
1万
查看次数