0

我正在尝试在我们的 WPF 应用程序中使用第 3 方 UI 控件。这个特殊的控件有很多特性/特性使它很吸引人,但是他们的许可方案一直很痛苦……但也许这就是很多第 3 方供应商的运作方式。

在我们的解决方案中,我们有两个需要关注的项目。为简单起见,我将它们表示为“StartUpProject”和“FeatureAProject”。假设应用程序中其他开发人员将要处理的其他项目被命名为“FeatureBProject”、“FeatureCProject”等等……</p>

StartUpProject 包含对所有 Feature*Projects 的引用。

第 3 方 dll 位于公共“参考”文件夹中,两个项目(StartUpProject 和 FeatureAProject)都从该文件位置引用第 3 方程序集。

-- StartUpProject 是主要的 WPF 启动项目,包括 App.xaml/App.xaml.cs。它包含一个 licx 文件,其中包含一个用于 3rd 方控件的条目。

-- FeatureAProject 包含此第 3 方 UI 控件的实现。

由于 3rd 方控件公司的许可方案的实施方式,为了简单地通过 VS 构建应用程序,每个开发人员都必须安装 3rd 方控件的许可副本——即使是那些正在开发 FeatureA 以外的其他功能的开发人员。

必须有办法解决这个问题......

我想以这样一种方式构建我们的解决方案和项目,即“第 3 方控件开发人员”(即 FeatureA 开发人员)是唯一需要在他们的机器上安装控件的许可副本并且其他开发人员仍然可以构建解决方案的人.

我的第一个想法是利用从许可开发机器构建的二进制引用。

(1) 我不确定哪个程序集需要作为二进制引用:StartUpPorject 或 FeatureAProject?是否是 StartUpPorject 中的 licx 文件触发了许可证检查,从而触发了未经许可的开发人员的构建异常?

(2) 如果我们采用二进制引用路线,则每次开发人员对 FeatureAProject 进行更改时,都需要更新引用……这可行,但额外的开销肯定不理想。有没有更好的方法来解决这个问题?我们能否以某种方式将整个第 3 方控制使用重构为一个从许可机器构建一次的附加程序集?然后 FeatureA 可以使用这个程序集,并且在对 FeatureA 进行更改时不必更新它。

我希望这是有道理的。

谢谢!

4

0 回答 0