.net框架客户端配置文件 - 如果我需要的Dll不存在怎么办?

时间:2009-10-08 08:02:46

标签: .net installation

我正在考虑进入.net框架客户端配置文件,但目前我依赖于System.Design.dll,它不在配置文件中。

我当然可以手动将它们分发到我的应用程序文件夹目录中,但是有更好的策略吗?

4 个答案:

答案 0 :(得分:2)

我认为您在法律上不允许分发单个.NET Framework DLL。如果您依赖于不属于客户端配置文件的DLL,请以某种方式摆脱依赖关系或不以客户端配置文件为目标;考虑要求完整的.NET Framework。

答案 1 :(得分:2)

您有两种选择:

  1. 定位完整的桌面框架
  2. 重构您的代码以删除System.Design.dll依赖
  3. 另见blog post

答案 2 :(得分:0)

手动分发本地System.Design.dll的问题是,如果稍后在框架中修补了该DLL,您的应用将继续使用旧版本的dll。当然,只有在不存在完整框架的情况下,您才可以将代码放入程序中以动态加载本地DLL。但这会更加复杂。

如何制作应用程序的两个版本...一个不依赖于System.Design.dll(并且只需要客户端配置文件)和一个依赖于需要完整框架的System.Design.dll ...并让用户选择权衡?

答案 3 :(得分:0)

让我们从您无法在应用程序中合法地重新分发单个.Net DLL这一事实开始。

接下来让我们确保您了解客户端配置文件的用途;它旨在为您的用户提供更小的分发和/或更快的部署体验。它通过提供Windows Presentation Foundation(WPF),Windows窗体,Windows Communication Foundation(WCF)和ClickOnce功能的简化子集来实现此目的。

基于此,您需要确定客户端配置文件是否符合您的应用目标。

  1. 如果确实如此,您将需要 重构你的项目不是 依赖于任何库 不属于该档案。

  2. 如果没有,那么你真的不应该 使用客户档案。

  3. 我认为你只有这两种选择。