【发布时间】:2021-10-01 05:07:10
【问题描述】:
我在 .NET Framework 中工作并使用 C#。我正在引用外部 dll。仅当 dll 版本为 12 或更高版本时才可用的一种特定方法。有没有办法根据 dll 的版本来条件代码编译。
我可以获取 dll 的版本,但如果是 11 或更低版本,我如何限制一段代码编译。
下面是我目前正在使用的代码,当我引用 11 或更低版本的 dll 时,GetUnsortedFaces() 显示错误,它不会让我编译。
List<IVctFace> IVctEdge.AllFaces()
{
Face[] faces;
Version version = System.Reflection.Assembly.GetAssembly(typeof(Edge)).GetName().Version;
faces = this.Edge.GetFaces();
if (version.Major > 11)
{
faces = this.Edge.GetUnsortedFaces();
}
List<IVctFace> vctFaces = new List<IVctFace>();
foreach (Face face in faces)
{
vctFaces.Add(new VctFace(face, this.Parent.Parent));
}
return vctFaces;
}
我确实知道#define,但它们需要在命名空间之外创建。
【问题讨论】: