【发布时间】:2021-01-18 05:48:51
【问题描述】:
我正在尝试让标签在 C# AWS CDK 项目中工作,但除了 Depreciated 语法之外,我似乎什么都不能工作。比如下面的代码:
using Amazon.CDK;
using Amazon.CDK.AWS.S3;
namespace HelloCdk
{
public class HelloCdkStack : Stack
{
internal HelloCdkStack(Construct scope, string id, IStackProps props = null) : base(scope, id, props)
{
// The code that defines your stack goes here
var g_bucket = new Bucket(this, "GameContent", new BucketProps
{
Versioned = false,
PublicReadAccess = true,
AutoDeleteObjects = true, //delete and
RemovalPolicy = RemovalPolicy.DESTROY, //destroy bucket when CF Stack deleted.
WebsiteIndexDocument = "index.html",
WebsiteErrorDocument = "index.html"
});
Tag.Add(g_bucket, "key", "value");
}
}
}
当我发出cdk synth 命令时,上面的代码将成功。但是,我收到一条警告消息:
警告 CS0618:'Tag.Add(Construct, string, string, ITagProps?)' 已过时:'use "Tags.of(scope).add()"'
但是,当我尝试使用“Tags.of...”时,cdk synth 命令会引发以下错误:
错误 CS1061:“TagManager”不包含“of”的定义,并且没有可访问的扩展方法“of”...
我需要进行哪些更改才能使推荐的标记方法发挥作用?
【问题讨论】:
-
这个答案可能会有所帮助:stackoverflow.com/a/64587781/14072498
-
感谢咆哮,但您链接到的问题中的代码与使用
cdk init app --language csharp命令时创建的代码的结构不同。该命令会创建一个类似于我原来的问题中发布的结构。
标签: c# asp.net-core asp.net-core-3.1 aws-cdk