0

我正在为现有的 .Net 应用程序编写 API,以便将该应用程序用作其他自定义应用程序(可能由客户编写)的“引擎”。前提是“引擎”将始终在目标机器上安装并工作。

我的方法是在 VS 解决方案中为“引擎”应用程序创建一个新项目,这是一个提供公共方法的类库,可将应用程序自己的库的细粒度功能聚合到更高级别的简化方法调用中,以用于第 3 方应用程序作者使用。

API 在“引擎”解决方案的上下文中运行良好,单元测试正常运行。但是,当我尝试在该 VS 解决方案之外编写一个简单的“自定义”应用程序时,使用对 API 的引用来提供我需要的服务,我遇到了一个问题 - 除非我的自定义应用程序具有“引擎”的副本app.config (sic) 文件在编译之前,引擎在尝试访问其配置文件时会抛出异常。

期望第 3 方开发人员手头有 app.config 文件显然是不切实际的,期望他们必须将引擎的配置文件复制到他们的解决方案中并重命名它有点不雅。

有没有更清洁的方法来做到这一点?目的是让自定义应用程序只需要对 API 程序集的引用,并让引擎像正常使用一样“正常工作”。最好避免使用二进制远程处理、Web 服务和 COM(假设它们会解决问题)。

哦,这就是 .Net 3.5 和 VS2008 TIA

4

1 回答 1

0

是的,使用 NuGet。如果将程序集打包在 NuGet 包中,则可以添加配置文件转换,该转换将自动添加/更新引擎的配置属性。然后,当您的消费者提取您的引用(从本地 NuGet 服务器?)时,他们将获得程序集引用和配置转换。

我建议为您的引擎创建一个正式的配置部分,以便您知道您只在 NuGet 包中管理其配置。

于 2013-03-01T11:41:19.047 回答