小编der*_*783的帖子

如何解决“断言要求调用目标中的每个名称都使用显式类型注释.ts(2775)进行声明”?

我有下面的 JavaScript 代码,并且我正在使用 TypeScript 编译器 (TSC) 根据Typescript Docs JSDoc Reference提供类型检查。

const assert = require('assert');
const mocha = require('mocha');

mocha.describe('Array', () => {
    mocha.describe('#indexOf()', () => {
        mocha.it('should return -1 when the value is not present', 
        /** */
        () => {
            assert.strictEqual([1, 2, 3].indexOf(4), -1);
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

我看到这个错误:

Assertions require every name in the call target to be declared with an explicit type annotation.ts(2775)
SomeFile.test.js(2, 7): 'assert' needs an explicit type annotation.
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误?

javascript jsdoc typescript tsc

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

如何解决错误:实体类型“SomeType”的实例缺少必需的属性“{”Prop1”、“Prop2”}”?

问题:如何解决此错误:

Microsoft.EntityFrameworkCore.DbUpdateException:键值“{Id:1}”的实体类型“SomeEntity”的实例缺少必需的属性“{”Prop1”、“Prop2”}”

我有一个使用 EF Core 内存提供程序的测试套件。我最近将解决方案中的所有 EF Core NuGet 包升级到目标版本 6.0.1。

在运行升级后的一些测试时,我遇到了上述错误。

错误中提到的两个属性都是字符串。

我查看了一些 Github 问题和 Stack Overflow 帖子,搜索引擎在 DuckDuckGo 搜索错误消息时会点击这些帖子,但这并没有发现任何有趣的内容。

受影响的类有一个如下的配置方法:

public void Configure(EntityTypeBuilder<SomeType> builder)
{
    builder
        .Property(someType => someType.Prop1)
        .IsRequired();

    builder
        .Property(someType => someType.Prop2)
        .IsRequired();
}
Run Code Online (Sandbox Code Playgroud)

c# .net-6.0 ef-core-6.0

18
推荐指数
1
解决办法
6316
查看次数

如何解决 TypeScript 编译器错误“命名空间‘NodeJS’没有导出成员‘Global’”?

问题:如何解决 Typescript 编译器 ( tsc) 错误“命名空间 'NodeJS' 没有导出成员 'Global' ”?

在运行时tsc,我突然在“遗留”(不是新)项目中看到以下错误:

node_modules/expect/node_modules/@jest/types/build/Global.d.ts:85:62 - error TS2694: Namespace 'NodeJS' has no exported member 'Global'.

85 export interface Global extends GlobalAdditions, Omit<NodeJS.Global, keyof GlobalAdditions> {
                                                                ~~~~~~
Run Code Online (Sandbox Code Playgroud)

我尝试添加安装@types/node并添加"types": ["node"]到我的tsconfig(如this SO post中所建议的),但这没有帮助。

节点版本:12.18.4
Jest 版本:26.5.3

javascript node.js tsc jestjs

7
推荐指数
2
解决办法
8072
查看次数

Azure 应用程序网关 cookie 可以替换为应用程序 cookie 吗?

我有一个包含多个实例的 VMSS,其中部署了一个 java 应用程序。VMSS 连接到应用程序网关。网关启用了会话亲和性。

是否可以覆盖或告诉网关使用由java应用程序创建的cookie?

我需要它的原因是,当请求到达具有多个参数的应用程序网关时,处理是由java应用程序完成的。此处理会创建用户重定向到的唯一 ID 记录。

当此重定向请求到达应用程序网关时,网关将请求发送到另一台不存在唯一 ID 的服务器,从而引发错误。

我的想法:当请求到达网关并到达java程序时,我创建一个包含一些信息的cookie。cookie 被发回,当请求重定向时,我使用相同的 cookie 来识别服务器。

这可能吗?

我可以使用应用程序 cookie 并告诉应用程序网关使用该 cookie 来识别服务器吗?

azure session-cookies azure-application-gateway azure-vm-scale-set

5
推荐指数
1
解决办法
5506
查看次数

为什么我会在部署容器时看到此错误:“错误:(gcloud.run.deploy) PERMISSION_DENIED:调用方没有权限”?

假设我有一个cloudbuild.yaml像下面这样的文件。还假设我可以在gcloud用于单独的功能(构建和运行)时手动运行和部署有问题的容器。

部署的时候,第三步导致报错 ERROR: (gcloud.run.deploy) PERMISSION_DENIED: The caller does not have permission

steps:
# Build the container image
- name: 'gcr.io/cloud-builders/docker'
  args: ['build', '-t', 'gcr.io/[PROJECT_ID]/[IMAGE]:$COMMIT_SHA', '.']
# Push the image to Container Registry
- name: 'gcr.io/cloud-builders/docker'
  args: ['push', 'gcr.io/[PROJECT_ID]/[IMAGE]:$COMMIT_SHA']
# Deploy image to Cloud Run
- name: 'gcr.io/cloud-builders/gcloud'
  args:
  - 'run'
  - 'deploy'
  - '[SERVICE_NAME]'
  - '--image'
  - 'gcr.io/[PROJECT_ID]/[IMAGE]:$COMMIT_SHA'
  - '--region'
  - '[REGION]'
  - '--platform'
  - 'managed'
images:
- gcr.io/[PROJECT_ID]/[IMAGE]

Run Code Online (Sandbox Code Playgroud)

google-cloud-platform google-cloud-build google-cloud-run

5
推荐指数
2
解决办法
4538
查看次数

如何使用 switch 对非常量字符串值进行模式匹配?

我希望能够使用非常量字符串变量作为 switch 语句中的匹配目标。

我有下面的代码,但遇到错误:

CS0150:预期值为常数,at情况expectedValue:

public bool UseStandardSwitch(string inputValue)
{
    var expectedValue = "SomeValue";

    bool result = default;
    var DoSomething = () => { result = true; };
            
    switch (inputValue)
    {
        case expectedValue:
            DoSomething();
            break;
        default:
            break;
    }
    return result;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法达到类似的结果?

c# c#-10.0

5
推荐指数
1
解决办法
2719
查看次数

使用“gcloud run deploy”时,如何使用命令行参数指定服务名称?

使用时gcloud run deploy,如何使用命令行参数指定服务名称?我希望防止在部署时需要交互。

我目前正在像这样部署我的服务:

gcloud run deploy --image gcr.io/<PROJECT>/<TAG> --platform managed
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform gcloud google-cloud-run

4
推荐指数
1
解决办法
577
查看次数

不支持集合类型“Newtonsoft.Json.Linq.JObject”

我在 .netcore 3.0 中编写了一个端点来返回数据,但最终在控制器中抛出以下错误。

错误发生在线上

return Ok(cityResponses);
Run Code Online (Sandbox Code Playgroud)

我可以在执行此行之前查看数据

System.NotSupportedException: The collection type 'Newtonsoft.Json.Linq.JObject' is not supported.
   at System.Text.Json.JsonPropertyInfoNotNullable`4.GetDictionaryKeyAndValueFromGenericDictionary(WriteStackFrame& writeStackFrame, String& key, Object& value)
   at System.Text.Json.JsonPropertyInfo.GetDictionaryKeyAndValue(WriteStackFrame& writeStackFrame, String& key, Object& value)
   at System.Text.Json.JsonSerializer.HandleDictionary(JsonClassInfo elementClassInfo, JsonSerializerOptions options, Utf8JsonWriter writer, WriteStack& state)
   at System.Text.Json.JsonSerializer.Write(Utf8JsonWriter writer, Int32 originalWriterDepth, Int32 flushThreshold, JsonSerializerOptions options, WriteStack& state)
   at System.Text.Json.JsonSerializer.WriteAsyncCore(Stream utf8Json, Object value, Type inputType, JsonSerializerOptions options, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Mvc.Formatters.SystemTextJsonOutputFormatter.WriteResponseBodyAsync(OutputFormatterWriteContext context, Encoding selectedEncoding)
   at Microsoft.AspNetCore.Mvc.Formatters.SystemTextJsonOutputFormatter.WriteResponseBodyAsync(OutputFormatterWriteContext context, Encoding selectedEncoding)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeResultAsync>g__Logged|21_0(ResourceInvoker invoker, IActionResult result)
Run Code Online (Sandbox Code Playgroud)

控制器

[HttpGet]
        [Route("cities")]
        public …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api asp.net-core

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

是否可以使用代理来包装异步方法调用和错误处理?

是否可以使用代理来包装对具有错误处理的对象上的异步方法的调用?

我尝试了下面的代码,但是当代理方法中发生错误时,catch 不会执行。

const implementation = {
    // proxied async methods here
}
const proxy = new Proxy(implementation, {
    get: (target, prop, reciever) => {
        try {
            return Reflect.get(target, prop, reciever)
        }
        catch (error) {
            console.log('Error:')
            console.error(error)
        }
    }
})

Run Code Online (Sandbox Code Playgroud)

我的目标是避免在每个代理方法中实现错误处理。

javascript error-handling proxy

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

如何在 WebApplicationBuilder 上调用 .UseStaticWebAssets()?

我遇到了与此问题中概述的问题类似的问题。

在本地运行时使用自定义环境时,某些文件不会加载(导致 404 等)。

问题:如何.UseStaticWebAssets()使用进行呼叫WebApplicationBuilder

在我的program.cs中,我尝试添加一些代码来调用,.UseStaticWebAssets()如下所示,但我看到了错误ConfigureWebHost() is not supported by WebApplicationBuilder.Host. Use the WebApplication returned by WebApplicationBuilder.Build() instead

// program.cs
public static void Main(string[] args)
{
    var builder = WebApplication.CreateBuilder(args);
    builder.Host.ConfigureWebHostDefaults(builder => 
    {
        builder.UseStaticWebAssets();
    });

    // etc...
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试WebHost在上述构建器上使用 prop,我会在尝试调用该UseStaticWebAssets()方法时看到编译器错误。

c# blazor-server-side .net-6.0

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

使用MinimalAPIs时如何添加AllowAnonymous?

使用 MinimalAPI 时如何允许匿名访问端点?

假设我在 Web 应用程序的文件中有以下代码Program.cs,使用最小 API 语法:

app.MapGet("/hello", () => "world");
Run Code Online (Sandbox Code Playgroud)

当使用非最小语法时,我们可以通过用属性装饰控制器来允许匿名访问端点[AllowAnonymous]

使用最小语法时如何执行相同的操作?

c# minimal-apis

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

如何在 GCP Cloud Storage 中授予服务帐户 storage.buckets.create 权限?

我正在使用下面的代码创建一个存储桶,但发生了一个异常,表明服务帐户缺少权限storage.buckets.create

我使服务帐户成为Storage Object Admin角色的成员,但这还不够,因为错误仍然发生。

var client = StorageClient.Create();            
var bucket = client.CreateBucket(projectId, bucketName);
Run Code Online (Sandbox Code Playgroud)

c# google-cloud-storage google-cloud-platform

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