0

我们正在开发一个新的库版本,其中包含一些其他应用程序使用的 UI 控件。其中一些控件具有旧应用程序不知道的新功能。默认情况下,我们将禁用新功能,但我们希望为某些特定应用启用它们。这些应用程序可能存在于同一台机器上。

你会如何建议实施这个?

更新: 我想出的最佳解决方案是使用 Process.GetCurrentProcess() 并使用类似 proc.MainModule.FileVersionInfo.InternalName 的东西来查找指定覆盖值的注册表项。也许还要查看版本号以检查它是否太旧而无法了解新功能。这种方法有问题吗?

更新: 添加的功能封装在控件中,只是它们在某些情况下有意义,而在其他情况下没有意义。

4

1 回答 1

0

我不认为你可以。您将无法更改旧应用程序的界面,也无法接收或返回任何新数据。因此,新控件必须像旧控件一样对旧应用程序起作用。现在,如果您在新控件中有完全封装在控件中的行为(例如固定或最小化或类似的东西),那么这些功能可能会在您的旧应用程序上工作。您可以处理让旧应用程序使用新控件的麻烦事,假设它们是强命名的,并且在 GAC 中使用Publisher Policies

于 2009-05-14T21:56:09.267 回答