我有一个Project A将用作Project B中的参考。
项目 A有一个类,其方法应该是可见或不可见,具体取决于项目 B中指定的条件。假设如果在项目 B 的 web.config appSettings 中有一个值为“true”的键“DisplayMethod”,则该方法将可见。
这更像是一个版本控制。我不想为 Project A 的新版本创建单独的 dll。我希望单个 dll 能够同时支持新旧版本。这样项目 B 的开发人员可以轻松地在 web.config 中切换版本,重建项目,他很高兴。
限制
- 我无法控制项目 B。我只能要求项目 B 的开发人员进行简单的修改,如 web.config 修改。
- 我不知道哪些项目将使用项目 A。项目 A 是一个开源项目,任何人都可以使用,可能有数千个项目。
“方法将是可见的”是指与以下代码相同的功能:
[EditorBrowsable(EditorBrowsableState.Never)]
public string SomeMethod(string s)
{
return "Hello " + s;
}
迄今为止的研究:
我见过这个问题。但是,接受的答案对我不起作用,因为那里的条件常数只能在方法所在的同一项目的项目属性中设置。
条件命名空间也可以,但我也面临同样的问题。