所需的 AppFabric 缓存客户端代码引用了作为客户端安装一部分的这两个程序集:
Microsoft.ApplicationServer.Caching.Client.dll
Microsoft.ApplicationServer.Caching.Core.dll
在 Visual Studio 2010 中定义这些引用将导致程序集在构建时被复制到项目 bin 文件夹中,然后与我们的二进制文件一起重新分发。但是,AppFabric 缓存 EULA 没有明确提及再分发权利,因此这些文件在法律上是不可再分发的。我不确定这是否有意,但是我们的客户最好在安装时为自己获取和安装 AppFabric 缓存,而不是使用可能已过时和/或与 AppFabric 缓存不兼容的重新分发的程序集集群(例如,如果它使用不同的版本)。
但是,AppFabric 缓存安装程序不会将打包的程序集放入 GAC,因此客户端/客户需要这样做以允许我们的代码能够引用它们 - 程序集无法在适当位置引用(在 \Program Files\ AppFabric 1.1 for Windows Server),除非我们明确引用并从特定路径加载程序集,这是不寻常的。
那么我的问题是 - 引用这些程序集的预期使用模式是什么?它们实际上应该是可再分发的,还是我们的客户应该将它们放在 GAC 中,还是有其他选择?