小编Kat*_*lus的帖子

我可以通过编程方式控制.NET Core程序集重定向吗?

问题: .NET Core 2.0(netstandard 2.0)中是否有任何方法可以application.exe.config在运行可执行文件时应用未在给定文件中定义的程序集重定向?也许是一些程序化的方式?或者甚至通过一些特殊设置/标志运行可执行文件?

场景: 这是我试图在.NET Core 2.0中解决的简化场景.

  1. 有一个"服务托管"可执行文件,让我们称之为 ServiceHost.exe
  2. 有一个服务.dll,让我们调用它 Service.dll,它实现了一些IService带方法的入口接口Start().
  3. 当我运行ServiceHost.exe --service-assembly Service.dll它时加载服务并调用其IService.Start()实现.
  4. 该服务的作者可以是任何人,它独立于服务主机.

假设该服务需要一些程序集重定向.在.NET Core世界中,当您引用比旧.NET Framework更多的软件包并且并非所有软件包都具有最新.NET Core的确切版本时,这种情况非常普遍.使用程序集重定向可以很好地工作,并允许您使用旧版本的库目标就好了.

这就是我的设置问题.由于Service.dll是一个由独立可执行app.config文件加载的库,因此不使用其带有程序集重定向的文件.运行时使用ServiceHost.exe.config与否Service.dll.config,这是预期的.

提醒:我正在使用.NET Core这样的解决方案,创建新的Application Domain并将其设置为加载不同的配置文件不是一个选项.

.net c# .net-core

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

如何在 Terraform 中格式化数字变量

我有以下(简化的)Terraform 代码:

variable "cluster_id" {
    default = 1
}

resource "aws_instance" "instance" {
    ... some instance properties ...
    tags {
        "Name" = "${format("cluster-%02d", var.cluster_id)}"
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行terraform apply计划时显示:

tags.Name: "%!d(string=1)"
Run Code Online (Sandbox Code Playgroud)

cluster_idformat()这样格式化失败并不像一些处理。我希望我得到,cluster-01但事实并非如此。

我做错了什么还是真的不可能在格式中使用自定义变量作为数字?

terraform

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

标签 统计

.net ×1

.net-core ×1

c# ×1

terraform ×1