【问题标题】:How to parameterize a reference c#?如何参数化引用c#?
【发布时间】:2017-11-07 10:55:17
【问题描述】:

是否可以在 c# 中对引用进行参数化?

我正在使用一个外部库 (google.dfp),我需要每年使用新版本对其进行更新。库名称包含版本(例如:“using Google.Api.Ads.Dfp.v201708;”)。

我想在 app/web.config 中设置版本并使用该值构建 using 指令。有没有可能设置一个占位符或类似的东西?

谢谢

【问题讨论】:

  • using 指令仅在编译时使用。
  • 简短的回答是否定的。请发布代码,而不是快照。
  • 鉴于您可能必须打开解决方案以删除对旧的引用,添加对新的引用,检查(通过编译)没有任何内容被弃用/废弃/重命名,它可能不是一个巨大的在所有源文件上使用查找/替换的努力的扩展。但是你总是可以编写一个工具来做到这一点! :)
  • 作为搜索和替换操作,这应该不会超过几秒钟(假设您仍然打开了项目,如果您设法升级参考,您会这样做)。你写这个问题所花费的时间已经超过了未来几年搜索和替换所花费的时间,而且这忽略了实际实施你可能得到的任何答案所需的时间。
  • 您可以在运行时加载 dll,这需要您将代码更改为 dynamic,但是您将失去智能感知的所有便利。

标签: c# .net reference .net-assembly using


【解决方案1】:

根据@Damien_The_Unbeliever 的评论:

using 指令仅在编译时使用。

讨论到此结束;无法完成,因为需要重新编译。

充其量,您可以编写一个生成正确 usnig 语句的小型控制台应用程序,但您仍然需要更新代码并重新编译(和重新部署)。

代码更改是如此之小,以至于我什至不会为此编写一个小型代码生成器。复制/粘贴生成的代码所花费的精力与手动更新值一样多,因此您并没有真正获得任何效率。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多